[QtCreator(5)] 加载Qt静态库和动态库[TZZ]

2024-10-27 18:12:36

1、启动QtCreator软件,新建一个名为“QTestLib1”的控制台应用程序项目;

2、项目创建完毕后,调试运行程序。能够见到弹出控制台窗口,表示项目正常;

[QtCreator(5)] 加载Qt静态库和动态库[TZZ]

3、打开QTestLib1的项目目录,新建一个名为“include”的新目录,然后将之前创建过的QStaticLib1静态项目和QSharedLib1动态库项目的头文件拷贝到该目录中;

[QtCreator(5)] 加载Qt静态库和动态库[TZZ]

5、回到QtCreator中,双击龅歧仲半打开“QTestLib1.pro”文件,通过INCLUDEPATH变量指定项目包含目录,通过LIBS变量指定项目引用的库目录和库文件(注:GCC编译器指定库目录和库文件,需要分别用-L和-l前缀,并且要求链入文件以lib前缀开头);

[QtCreator(5)] 加载Qt静态库和动态库[TZZ][QtCreator(5)] 加载Qt静态库和动态库[TZZ][QtCreator(5)] 加载Qt静态库和动态库[TZZ]

8、关闭控制窗口返回到QtCreator中,点击菜单栏上的“工具 > 选项”打开QtCreator的选项配置窗口。在该窗口中,选择“调试器 > GDB”,在“额外的启动命令”中加入“handle SIG32 nostop”命令,然后点击“OK按钮”确定设置;

[QtCreator(5)] 加载Qt静态库和动态库[TZZ]

9、设置完GDB额外的启动命令后,再次调试运行程序。你会发现程序一切正常了,并没有之前出现的反汇编代码;

[QtCreator(5)] 加载Qt静态库和动态库[TZZ]

10、最后补充一下,这种崩溃问题实际是某些GDB版本自身的问题(处理线程信号时是否自动暂停)。只要告诉GDB遇到SIG32信号时,别停止即可让程序继续执行,并非代码存在问题;

猜你喜欢