很久没有使用QT进行开发了,大概有3-4年了。一个ubuntu下的小项目,让我重新使用QT进行开发。
用C语言写了一个静态库文件.a文件,准备在QT4下进行链接使用。我在pro工程配置文件中增加LIBS的配置,使用各种方法进行倒腾,不是提示找不到库文件,就是提示某些函数链接错误,其实就是.a文件没有进行链接到。查了网络资料,试了几种办法也没有解决该问题。
最后无奈之下,没有办法,查看QT的工程编译目录下的Makefile文件,感觉应该是由于搜索目录的问题。干脆暴力解决吧,直接使用写死的完整路径进行链接,运行发现OK。
LIBS += /home/zzf/qt_project/test/lib/QT_Test.a
由于QT是C++,要链接C语言的库函数,包含.a文件需要的头文件的时候记得要添加 extern "C"使用C语言方式函数链接,如下:
extern "C"
{
#include "QT_Test.h"
}
正常情况下使用-L 和 -l 命令应该就可以链接到的,qt4下就各种不行,通过写死路径虽然解决了链接问题。但是后续拷贝工程和库文件带来不方便,工程路径变更就得重新更改.a链接路径。