0

我是 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 ?

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

这并没有改变什么。

有什么我没有得到的吗?

- - 编辑

显然日食正在运行:

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"

我在终端中运行它并得到相同的错误

4

1 回答 1

1

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

于 2013-04-18T08:58:47.823 回答