linux下qt程序怎么静态调用libqt5core.so

linux下qt程序怎么静态调用libqt5core.so,第1张

1,如果同时打开静态库和运行程序调用,调式模式下,可以进入静态库的内部函数进行调试;

2,其实不用把shadow build取消勾选;文件输出的文件就是lib***.a的文件,可以在shadow目录里面很方便找到;

3,新的项目使用的时候,就是让其能找到lib***.a,和该库的h头文件;

4,QT的编译输出的静态库名字会自动在项目名字前加lib三个字,后缀是.a;

5, QT5.15的编程的工程与该例子中缺少“需要什么模块就添加什么”的部分;

linuxqt直接调用.a中的函数失败

1:创建静态库

qtCreator创建库,->c++ 库,选静态链接库。

创建出库后,发现相比动态库少了一个xxxx_global.h的文件,在类名前面也没有了导出关键字的修饰,接下来在默认的类中,直接添加一个函数,编译,生成了a文件。

2:写主程序来调用a文件

同样写一个界面程序,把a库的头文件拷贝到现在新建项目的新建include文件夹中,在程序用,包含这个头文件,并用这个类定义一个对象,然后调用对象的自己添加的那个方法。

3:修改pro文件,把头文件路径和库文件路径写入。库文件路径,可以用 -L -l的方法来,也可以直接指定全路径下的库文件名,如下:

LIBS += -L/root/Downloads/testlibS -ltestlibS

LIBS+= /root/Downloads/testlibS/libtestlibS.a

这两种写法都可以,同样,如果用第一种写法,testlibS还是项目的名称。如果是第二种写法,就要完全指定路径和编译生成的库文件的全称了

1.添加库文件静态库

linux:LIBS += your_lib_path/your_lib动态库

linux:LIBS += -L your_lib_path -lyour_lib//经过测试了

win32:LIBS += your_lib_path/your_lib例如:

LIBS += -L lib/pcsc/ -lpcsclite

LIBS += lib/pcsc/libpcsclite.a

2.添加头文件

INCLUDEPATH += your_include_path例如:

INCLUDEPATH += . /usr/local/include(点号后面有空格)

3.添加要编译的源文件和头文件

SOURCES:所有源文件列表

HEADERS:所有头文件列表

FORMS:所有.ui文件列表前期工作:

1.检查gcc,g++,qmake是否用错。

2.在Makefile中检查是否少了头文件

3.检查是否与<错用了

4.需要另外加库的程序最好单独建一个文件


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/5910285.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-08
下一篇2023-03-08

发表评论

登录后才能评论

评论列表(0条)

    保存