我使用 XCode 开发了一个 Cocos2d-X 应用程序,当我在 iOS 设备上从 XCode 启动它时,它可以完美运行。
现在,我想把它移植到Android上。我的理解是,我必须找到一种方法将我的“XCode 项目”导入 Eclipse,以便能够编译它并在 Android 设备上启动它。
我目前正在尝试按照本教程将此项目转换为混合 iOS/Android 项目:http://gameit.ro/2012/01/creating-an-iphone-and-android-cocos2d-x-hybrid-project-updated/#comment-640 http://gameit.ro/2012/01/creating-an-iphone-and-android-cocos2d-x-hybrid-project-updated/#comment-640
尽管如此,当我打开这个混合项目时,我没有看到任何 cpp 类(cocos2d-x C++ 类)出现在 Eclipse 中,并且在尝试使用 build_native.sh 编译它时出现以下错误:
Compile++ thumb : game_logic <= AppDelegate.cpp
jni/../../Classes/AppDelegate.cpp:14:23: error: IntroMenu.h: No such file or directory
jni/../../Classes/AppDelegate.cpp:15:23: error: GameLayer.h: No such file or directory
jni/../../Classes/AppDelegate.cpp:16:26: error: ScoreManager.h: No such file or directory
jni/../../Classes/AppDelegate.cpp: In member function 'virtual bool AppDelegate::applicationDidFinishLaunching()':
jni/../../Classes/AppDelegate.cpp:99: error: invalid use of incomplete type 'struct ScoreManager'
jni/../../Classes/AppDelegate.h:17: error: forward declaration of 'struct ScoreManager'
jni/../../Classes/AppDelegate.cpp:101: error: invalid use of incomplete type 'struct ScoreManager'
jni/../../Classes/AppDelegate.h:17: error: forward declaration of 'struct ScoreManager'
jni/../../Classes/AppDelegate.cpp:118: error: 'GameLayer' has not been declared
jni/../../Classes/AppDelegate.cpp:120: error: 'IntroMenu' has not been declared
make: *** [obj/local/armeabi/objs-debug/game_logic/AppDelegate.o] Error 1
macbook-de-regis-andre-2:android regisandre$ ./build_native.sh
我需要将一些文件导入到 Eclipse 中吗?我需要修改一些 android.mk 文件吗?还有别的事吗?
任何人都可以帮助我或写一个关于这个主题的教程吗?谢谢 !!
从表面上看,您需要将自定义创建的文件添加到 LOCAL_SRC_FILES 部分的 Classes/Android.mk 中,如下所示:
LOCAL_SRC_FILES := AppDelegate.cpp \
HelloWorldScene.cpp \
IntroMenu.cpp \
GameLayer.cpp \
ScoreManager.cpp
您需要执行此操作,以便让 android 构建文件了解需要包含在构建过程中的新文件。
据我所知,您需要为添加到项目中的每个新源文件执行此操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)