GCC C“未定义函数引用”错误尝试使用.so库文件进行编译/链接

时间:2017-07-05 21:15:34

标签: c gcc

我正在尝试在项目中使用第三方库(.so)文件。一个非常简单的程序:

#include "LibGent.h"
#include "genttypes.h"

int main() {
        GT_LIB* gtLib = LibGentGet();
        return 0;
}

我针对libgent.so编译/链接上面的程序:

gcc testing.c -L/home/username/proj -lgent

我收到以下错误:

/tmp/ccALOJwU.o: In function `main': testing.c:(.text+0x11): undefined reference to `LibGentGet'
collect2: error: ld returned 1 exit status

但是,我可以看到函数LibGentGet在.so文件中定义:

readelf -Ws libgent.so | grep "LibGentGet"
301: 0000000000044820     8 FUNC    LOCAL  DEFAULT    8 LibGentGet

我做错了什么?

0 个答案:

没有答案