2013-07-21 83 views
1

我可以在vc2012中运行我的代码。 我需要将我的代码编译为android,因此我使用linux系统运行./build_native.sh 。然后终端变成这样cocos2d-x android编译错误

StaticLibrary : libchipmunk.a 
Compile thumb : cpufeatures <= cpu-features.c 
StaticLibrary : libcpufeatures.a 
SharedLibrary : libgame.so 
/myData/Data/JAVA/adt-bundle-linux-x86_64-20130717/android-ndk-r8e/toolchains/arm-linux-  androideabi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-  androideabi/4.6/../../../../arm-linux-androideabi/bin/ld: ./obj/local/armeabi/objs/game_shared/__/__/Classes/AppDelegate.o: in function AppDelegate::applicationDidFinishLaunching():jni/../../Classes/AppDelegate.cpp:29: error: undefined reference to 'CPWScene::createScene()' 
collect2: ld returned 1 exit status 
make: *** [obj/local/armeabi/libgame.so] Error 1 
make: Leaving directory `/myData/Workspace/C++/cocos2d-2.1rc0-x-2.1.3/Workspace/ClassDesgin/proj.android' 
+0

您是否已将所有.cpp文件添加到.mk文件? –

回答

4

您必须将CPWScene.cpp文件添加到Android.mk文件,以便编译器可以编译该文件。 Android.mk文件位于proj.android/jni文件夹中。为了编译你的项目,你需要列出Android.mk文件中的所有cpp文件。

+0

我做到了,并有相同的错误...它在Visual Studio中正常编译.. – RollRoll