我必须使用Linux下的库。这是用gcc编译的.so。
我在我的 .pro 上添加了:
INCLUDEPATH += mypath/include
LIBS += -L/mypath/lib/ -lmyLib
但是,我收到以下错误:
undefined reference to `init_glove(char*, char*)'
我不明白为什么会收到此消息。我的库已链接并且头文件已创建。我读到这可能是我的库使用的编译器和 Qt 使用的编译器之间的问题,但两者似乎都是 gcc,所以...
有什么想法吗?
如果问题是 g++/gcc 问题,那么在您的 QT 项目中只需执行此操作
extern "C"
{
#include "mylib.h"
}
实际上,Qt 是用 g++ 编译的,所以我必须更改库的反编译器:将其从 gcc 切换到 g++。