链接存根库时未定义的引用

时间:2018-02-12 20:45:36

标签: c++ c

我试图编译一些使用我编写的存根库的c ++代码。该库是用C语言编写的,它有一个标题和一些什么都不做的函数。在我的makefile中,我使用

编译库
gcc -Wall -Werror -c myLib.c -o myLib.o
gcc -shared -nostartfiles -Wl,-soname,libmyLib.so -o libmyLib.so myLib.o

库似乎构建正常,运行ld -lmyLib --verbose找到库并显示所有功能。注意:确实会发出警告:

cannot find entry symbol _start; not setting start address

然后在我的其他代码中,我单独编译和链接。我用

编译
g++ -Wall -Werror -c foo.o foo.cpp -lmyLib

这个编译很好,foo.cpp包含#include<myLib.h>而myLib.h在/usr/include/

当我尝试将它们与

连接起来时
g++ -o mainProg *.o -lmyLib

我得到错误“未定义的引用(mylib中的函数)”

我试图解决这个问题几天但没有运气。我有什么傻事吗?

谢谢,如果我能提供更多信息,请告诉我。

0 个答案:

没有答案