qt静态链接库心得

来源:互联网 发布:慈溪楼市每日成交数据 编辑:程序博客网 时间:2024/06/06 17:24

今天在工作上要调用别人的函数,故而用到了静态链接,网上方法挺多的就不赘述了,只是来说说自己的大概情况。


pro文件里面添加

LIBS     +=My_path/libwaveformGEN.a   //路径要一致,否则会报错找不到该文件

然后我就报了三行错


 relocation R_X86_64_PC32 against symbol `ceil@@GLIBC_2.2.5' can not be used when making a shared object; recompile with -fPIC

 final link failed: Bad value

collect2: error: ld returned 1 exit status


看样子是编译可选项目里没有-fPIC

于是又加了

QMAKE_CFLAGS    +=  -fPICQMAKE_CXXFLAGS  +=  -fPIC

然后依然还是原来的错误。。。后来网上各种找啊。。


后来怀疑是不是编译.a文件没有添加-fPIC


先扔个背景, 我要调用的静态链接库是带我的前辈写的,之前用codeBlock一点问题没有,让我回去自己检查检查    说白了就是他觉得代码能跑问题肯定不在这。。。(前辈喊不动。。而且他也忙  然后就这么耗着。。)


但是我用的是Qt5的开发,区别和codeBlock有点大。。。最废了不少口舌才让他添加-fPIC重新编译了一个新的.a 文件  最后rebuild下


调用头文件因为是C语言写的

所以

extern "C"{#include "yourFileName.h"}

然后就成功了

。。


原创粉丝点击