Qt调用第三方C动态库.so

此处的编译器必须为交叉编译器:
以csdn文件为例:
1、将现有的文件编译为动态库:

gcc -O -fPIC -shared -o libcsdn.so csdn.h csdn.c

    1

2、将文件添加到项目路径:

将libcsdn.so文件和csdn.h文件复制到.pro文件同级目录
3、在.pro文件中添加代码:

LIBS += ./libcsdn.so

    1

4、在项目头文件添加:

extern "C"

{

#include "csdn.h"

}

    1
    2
    3
    4
    5
    6
    7

由于是C函数,在C++项目中需要添加extern "C"
4、此后,就可以在项目源文件中直接调用csdn.h文件中的函数等内容。

相关文章

1、新手提问qt调用动态库so文件----http://bbs.csdn.net/topics/391542908?page=1

 

 

在.pro文件里加上:
LIBS += -Lyourlibpath -lyourlibname
比如,假如你的库名为/usr/lib/libtt/libtt.so,则应该加:
LIBS += -L/usr/lib/libtt -ltt



在.cpp文件里加的extern "C",然后编译
 

 

 

 

//=======================================================================================

备注::  举例如下

1>LIBS          = $(SUBLIBS)  -L/usr/local/Trolltech/Qt-4.7.2/lib -lQtGui -L/usr/local/Trolltech/Qt-4.7.2/lib -L/usr/X11R6/lib -lQtCore -lpthread 
2>LIBS += -L/usr/lib -ltest_xxx

你可能感兴趣的:(qt,qt)