0

我必须在 Linux 下使用一个库。这是一个用 gcc 编译的 .so 文件。

我在我的 .pro 上添加了:

INCLUDEPATH += mypath/include
LIBS += -L/mypath/lib/ -lmyLib

但是,我收到以下错误:

undefined reference to `init_glove(char*, char*)'

我不明白为什么我会收到此消息。我的库已链接并创建了头文件。我读到这可能是用于我的库的编译器和 Qt 使用的编译器之间的问题,但两者似乎都是 gcc,所以......

有任何想法吗 ?

4

2 回答 2

1

实际上,Qt 是用 g++ 编译的,所以我不得不更改我的库的 de 编译器:将它从 gcc 切换到 g++。

于 2013-09-23T14:30:36.447 回答
1

如果问题是 g++/gcc 问题,那么在您的 QT 项目中只需执行此操作

extern "C"
{
   #include "mylib.h"
}
于 2017-08-17T16:34:18.967 回答