qt静态链接库心得

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


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
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值