关闭

qt静态链接库心得

标签: qt开发用户体验链接静态库 库文件
64人阅读 评论(0) 收藏 举报
分类:

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


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    +=  -fPIC
QMAKE_CXXFLAGS  +=  -fPIC

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


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


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


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


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

所以

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

然后就成功了

。。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1234次
    • 积分:104
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:4篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档