qt 编译使用三方库

首先编写一个hello.c

#include <stdio.h>
int hello()
{
    printf("hello lynne!\n");
}

编译命令:gcc -c hello.c,生成hello.o文件

编译命令:gcc -shared -o libtest.so hello.o得到libtest.so动态连接库文件

如果是c++文件,编译成 .so库

g++ -O -fPIC -shared -o libcsdn.so csdn.h csdn.cpp

qt中移植使用三方库的方法一

创建一个qt空工程,右键add new一个mian源文件

#include <stdio.h>
#include <QLibrary>
int main(int argc, char *argv[])
{
    QLibrary *m_li = NULL;
    //加载动态库
    //注意库要给路径否则加载不成功,libhello.so放在当前工程的目录下,所以路径为./
    m_li = new QLibrary("./libhello.so");
    m_li->load();
    if (!m_li->isLoaded()) 
    {
        printf("failed!\n");
        return 0; 
    }
    //定义函数指针
    typedef void (*Fun)();
    //resolve得到库中函数地址
    Fun hello = (Fun)m_li->resolve("hello");
    if (hello)
    {
         hello();
    }
    //卸载库
    m_li->unload();
    return 0;
}

运行后输出

hello lynne!

方法二

在 .pro 工程文件中 

INCLUDEPATH +=$$PWD 头文件路径
LIBS += 移植过来的路经

$$是相对路径,相对于 build-nameProject-Desktop_Qt*-Debug的目录下

然后使用是直接包含头文件即可使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值