0

私はC++とEclipseが初めてです。オープンダイナミックエンジンを使用しようとしています。ubuntu 12.04.2 LTS を使用しています。

sourceforge から ODE をダウンロードし、make を使用した命令を使用してコンパイルしました。プロセスの最後に、ファイル libode.a および libode.la が usr/local/lib に存在します。

プログラムで提供されるデモはうまく動作します。

現在、Eclipse CDT (Juno Service Release 2) で ODE を使用しようとしています。

私はプロジェクトを作成し、この超最小限のプログラムを書きました:

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

まず、プロジェクトのプロパティをまったく変更しませんでした。しかし、デフォルトでは /usr/local/include がインクルードにあり、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 に答える