首页 文章

使用Make on OSX编译Android版

提问于
浏览
2

公平警告我对GCC的发展有些新意 .

我目前正在尝试为Android(技术部门)做一个Box2D的个人端口 . 我创建一个独立的工具链,导出以下....

导出PATH = / tmp / my-android-toolchain / bin:$ PATH export CC = arm-linux-androideabi-gcc export CXX = arm-linux-androideabi-g

然后我运行Make,一切“看起来”运行正常,但是,最后我看到...

/private/tmp/my-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:错误:bin / Debug / libBox2D.a:没有归档符号表(运行ranlib)/private/tmp/my-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.6/../../ . ./../arm-linux-androideabi/bin/ld:obj / Debug / HelloWorld / Helloworld.o:在函数main中:../../ HelloWorld / Helloworld.cpp:38:错误:未定义引用'b2World :: b2World(b2Vec2 const&)'/ private / tmp / my-tool-bin /../lib / gcc / arm-linux-androideabi /4.6 /../../../../arm-linux- androideabi / bin / ld:obj / Debug / HelloWorld / Helloworld.o:在函数main中:../../ HelloWorld / Helloworld.cpp:47:错误:未定义引用'b2World :: CreateBody(b2BodyDef const *)' /private/tmp/my-toolchain/bin/../lib/gcc/arm-linux-androideabi/4.6/../../../../arm-linux-androideabi/bin/ld:obj / Debug / HelloWorld / Helloworld.o:在函数main中:../../ HelloWorld / Helloworld.cpp:53:错误:未定义引用'b2PolygonShape :: SetAsBox(float,float)'

如果我打开一个新的终端(基本上杀死导出)并删除bin和obj文件夹,一切编译都很好 . 一个快速的谷歌搜索建议这可能与使用llvm编译器而不是GCC相关(尽管我的CC我认为这不太可能) . 在独立工具链文档中有关于llvm的以下说明...

如果您愿意,可以添加--llvm-version = 3.1来复制clang / llvm 3.1 .

我应该添加llvm吗?这是仿生的问题与众不同吗?

谢谢!

1 回答

  • 8

    您可能正在使用OS的OSX版本 . 无法从您的日志中确定无疑 . 尝试设置 export AR=arm-linux-androideabi-ar

相关问题