0

我正在尝试在 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 项目,那么同样的过程可以正常工作。

我是否忘记在构建设置中添加一些内容以使其正常工作?

4

1 回答 1

0

Solved adding

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/lib/libstdc++.dylib

to the Xcode project.

于 2012-10-10T18:15:08.683 回答