我是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"
我在终端中运行此操作并获得相同的错误
答案 0 :(得分:1)
运行make install
不是在现代Linux上安装内容的最佳方式。请尝试安装libode-dev
包(sudo apt-get install libode-dev
)。此外,您应该事先删除手动安装的ODE。