Eclipse CDT:如何导入外部库?

时间:2013-04-18 08:16:31

标签: c++ shared-libraries eclipse-cdt

我是C ++和eclipse的新手。 我正在尝试使用开放式动态引擎。我使用的是ubuntu 12.04.2 LTS。

我从sourceforge下载了ODE,并使用make的指令编译它。 在该过程结束时,文件libode.a和libode.la出现在usr / local / lib中。

随着该计划的推出,演示得很顺利。

我现在正尝试将ODE与eclipse CDT(Juno Service Release 2)结合使用。

我创建了一个项目并编写了这个超小程序:

#include <ode/ode.h>
int main() {
    return 0;
}

首先,我根本没有改变项目的属性。但默认情况下/ usr / local / include在Includes中,eclipse不会抱怨没有找到ode.h。

当我运行该程序时,我得到1057个错误:

a was not declared in this scope | line 134,external location: /usr/local/include/ode/matrix.h

看起来它正在尝试重新编译ODE?

我想知道是不是因为它找不到库,我编辑了项目的属性。在properties / c / c ++ Build / settings / cross G ++ Linker / Libraries中,我在库中添加“ode”,在库搜索路径中添加“/ usr / local / lib”。

这没有改变任何事情。

我还没有得到什么?

----编辑

显然eclipse正在运行:

g++ -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/TestODE.d" -MT"src/TestODE.d" -o "src/TestODE.o" "../src/TestODE.cpp"

我在终端中运行此操作并获得相同的错误

1 个答案:

答案 0 :(得分:1)

运行make install不是在现代Linux上安装内容的最佳方式。请尝试安装libode-dev包(sudo apt-get install libode-dev)。此外,您应该事先删除手动安装的ODE。