编译对象后链接共享库时出错

时间:2014-11-10 23:36:42

标签: c++ gcc shared-libraries

我编译了目标文件,然后尝试编译可执行文件,该文件失败了,说明" theLib"中的函数有未定义的引用。

g++ -I./theLib/src -c -o obj/main.o src/main.cpp

(到目前为止工作)

g++ -L./theLib -Wl,-rpath=./theLib obj/main.o -ltheLib -o exe

(错误:libtheLib.so: undefined reference to 'some_function'

我到处检查了答案,他们都建议在依赖项之后移动-ltheLib部分(我做了)。但它仍然无法奏效。令我难以置信的是,同一个库可以很好地编译一个不同目录中的示例。

库在C中。可以搞砸尝试编译C ++吗?或者我只是错过了首先编译.o文件的东西?

1 个答案:

答案 0 :(得分:1)

结果库取决于我必须实现并在我自己的源代码中提供的函数。我从来不知道有些图书馆这样做,但是经验教训。一旦我实现了导致错误的功能并添加了这些源文件,就可以了。

相关问题