我正在Ubuntu x64上用Eclipse-CDT设置一个C++项目,基本上是在做hello world并链接到一个商业第三方库。
我已经包含了头文件,链接到他们的库,但我仍然遇到链接错误。除了显而易见的问题(例如,我99%确定我正在链接到正确的库之外),这里还有可能出现的其他问题吗?
- 有没有办法确认我链接的静态库是64位的?
- 有没有办法确认该库具有我期望其具有的类(和方法)?
Eclipse显示:
构建目标: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”的虚表 /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”的虚表 /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