我正在使用 Eclipse-CDT 在 Ubuntu x64 上设置 C++ 项目。我基本上是在打个招呼,并链接到一个商业 3rd 方库。
我已经包含了链接到他们的库的头文件,但我仍然遇到链接器错误。除了明显的问题之外,这里是否存在一些可能的问题(例如,我 99% 确定我正在链接到正确的库)。
- 有没有办法确认我链接到的静态库是 64 位的?
- 有没有办法确认该库具有我期望它具有的类(和方法)?
日食 说:
构建目标:LinkProblem 调用:GCC C++ 链接器 g++ -L/home/notroot/workspace/somelib-3/somelib/target/bin -o"LinkProblem" ./src/LinkProblem.o -lsomelib1 -lpthread -lsomelib2 -lsomelib3 ./src/LinkProblem.o:在函数“main”中: /home/notroot/workspace/LinkProblem/Debug/../src/LinkProblem.cpp:17:未定义对“SomeClass::close()”的引用 ./src/LinkProblem.o:在函数“SomeOtherClass”中: /home/notroot/workspace/somelib-3/somelib/include/sql/somefile.h:148:未定义对“SomeClass::SomeClass()”的引用 /home/notroot/workspace/somelib-3/somelib/include/sql/somefile.h:148:未定义对“用于 SomeOtherClass 的 vtable”的引用 /home/notroot/workspace/somelib-3/somelib/include/sql/somefile.h:151:未定义对“SomeClass::~SomeClass()”的引用 ./src/LinkProblem.o:在函数“~SomeOtherClass”中: /home/notroot/workspace/somelib-3/somelib/include/sql/somefile.h:140:未定义对“用于 SomeOtherClass 的 vtable”的引用 /home/notroot/workspace/somelib-3/somelib/include/sql/somefile.h:140:未定义对“SomeClass::~SomeClass()”的引用 /home/notroot/workspace/somelib-3/somelib/include/sql/somefile.h:140:未定义对“SomeClass::~SomeClass()”的引用 collect2: ld 返回 1 个退出状态 make: *** [LinkProblem] 错误 1