Xcode 4.5.1(MacOS 10.8)のCプロジェクトでODEを使用しようとしています。使用しました
./autogen.sh
./configure
make
sudo make install
libをインストールします。次に、テストプログラムをコンパイルしようとしました。
#include <stdio.h>
#include <ode/ode.h>
int main(int argc, const char * argv[]) {
dWorldID world = dWorldCreate();
return 0;
}
dSINGLE
[ビルド設定]->[プリプロセッサマクロ]とlibode.a
Xcodeプロジェクトに追加しました。
ビルドして実行しようとすると、次のようなエラーが発生します。
アーキテクチャx86_64の未定義のシンボル:
"std :: terminate()"、参照元:
_dJointGroupCreate in libode.a(ode.o)
_dBodyCreate in libode.a(ode.o)
dxJointBall :: dxJointBall(dxWorld *)in libode.a (ball.o)
dxJointBall :: dxJointBall(dxWorld *)in libode.a(ball.o)
dxJointFixed :: dxJointFixed(dxWorld *)in libode.a(fixed.o)
dxJointFixed :: dxJointFixed(dxWorld *)inlibode。 a(fixed.o)
dxJointHinge :: dxJointHinge(dxWorld *)in libode.a(hinge.o )
...。 。 。 。
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Cプロジェクトの代わりにC++プロジェクトを作成する場合、まったく同じ手順で問題なく動作します。
それを機能させるためにビルド設定に何かを追加するのを忘れましたか?