我正在使用Eclipse-CDT在Ubuntu x64上设置一个C ++项目。我基本上是在打个招呼,并连接到商业的3rd Party库。
我已经包含了链接到它们的库的头文件,但是仍然出现链接器错误。除了明显的问题之外,这里是否还有其他可能的问题(例如,我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:对`vtable for 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的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退出状态 制作:*** [LinkProblem]错误1