我正在尝试在 Xcode 4.5.1 (MacOS 10.8) 上的 C 项目中使用ODE。我用了
./autogen.sh
./configure
make
sudo make install
安装库。然后我尝试编译一个测试程序:
#include <stdio.h>
#include <ode/ode.h>
int main(int argc, const char * argv[]) {
dWorldID world = dWorldCreate();
return 0;
}
我dSINGLE
在 Build Settings->Preprocessor Macros 和libode.a
我的 Xcode 项目中添加了。
当我尝试构建和运行时,我得到了一堆错误,比如
架构 x86_64 的未定义符号:
“std::terminate()”,引用自:
libode.a(ode.o)
中的 _dJointGroupCreate libode.a(ode.o) 中的
_dBodyCreate dxJointBall::dxJointBall(dxWorld*) 在 libode.a (ball.o)
dxJointBall::dxJointBall(dxWorld*) 在 libode.a(ball.o)
dxJointFixed::dxJointFixed(dxWorld*) 在 libode.a(fixed.o)
dxJointFixed::dxJointFixed(dxWorld*) 在 libode。 a(fixed.o)
dxJointHinge::dxJointHinge(dxWorld*) 在 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 项目,那么同样的过程可以正常工作。
我是否忘记在构建设置中添加一些内容以使其正常工作?