ubuntu 下QT4链接C语言编写的.a静态库

本文介绍了一种在QT4环境下成功链接C语言静态库的方法。作者最初遇到链接失败和函数错误的问题,在尝试多种方法无效后,最终通过指定绝对路径解决了问题。此外,还提到了为了确保正确链接C库,需在代码中使用extern C。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    很久没有使用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链接路径。谁有解决办法呢???烦请告知下,不胜感激涕零。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值