我刚刚开始了解nme haxe的开发,我目前正在使用flashdevelop。我在安卓平台下构建示例应用程序(piratepig)时遇到了一个问题。很多"没有这样的文件或目录"。当我选择windows、Html5或flash平台时,一切似乎都很好。
这是输出:
Running process: C:Program Files (x86)FlashDevelopToolsfdbuildfdbuild.exe "C:UsersValentinDesktopPiratePigPirate Pig.hxproj" -ipc 2a666e48-3f38-4abd-b63a-25219cb72cf4 -version "2.10" -compiler "C:Motion-TwinHaxe" -library "C:Program Files (x86)FlashDevelopLibrary" -target "android"
Building Pirate Pig
haxelib run nme build C:UsersValentinDesktopPiratePigproject.nmml android -debug
haxelib run hxcpp Build.xml haxe -Ddebug -Dactuate -Dandroid -Dcpp -Ddebug -Dhaxe_208 -Dhaxe_209 -Dhaxe_210 -Dmobile -Dnme -Dnme_install_tool -Dsys -Dtrue
Creating hxcpp.h.gch...
arm-linux-androideabi-g++ -Iinclude --sysroot=C:DevelopmentAndroid NDK/platforms/android-5/arch-arm -IC:DevelopmentAndroid NDK/sources/cxx-stl/gnu-libstdc++/include -IC:DevelopmentAndroid NDK/sources/cxx-stl/gnu-libstdc++/libs/armeabi/include -DHXCPP_DEBUG -DHXCPP_VISIT_ALLOCS -Dhaxe_210 -IC:Motion-TwinHaxelibhxcpp2,10//include -Iinclude -fpic -fvisibility=hidden -ffunction-sections -funwind-tables -fstack-protector -fno-short-enums -D__ARM_ARCH_5__ -D__ARM_ARCH_5T__ -D__ARM_ARCH_5E__ -D__ARM_ARCH_5TE__ -D_LINUX_STDDEF_H -Wno-psabi -march=armv5te -mtune=xscale -msoft-float -fomit-frame-pointer -fexceptions -fno-strict-aliasing -finline-limit=10000 -DANDROID -Wa,--noexecstack -O0 -DNDEBUG -c -frtti -o hxcpp.h.gch C:Motion-TwinHaxelibhxcpp2,10//include/hxcpp.h
C:Motion-TwinHaxelibhxcpp2,10//include/hxcpp.h:13:20: error: typeinfo: No such file or directory
In file included from C:Motion-TwinHaxelibhxcpp2,10//include/hxcpp.h:170:
C:Motion-TwinHaxelibhxcpp2,10//include/Array.h:195:21: error: algorithm: No such file or directory
In file included from C:Motion-TwinHaxelibhxcpp2,10//include/hxcpp.h:162:
C:Motion-TwinHaxelibhxcpp2,10//include/hx/Object.h: In member function 'void hx::ObjectPtr<O>::CastPtr(hx::Object*)':
C:Motion-TwinHaxelibhxcpp2,10//include/hx/Object.h:143: error: must #include <typeinfo> before using typeid
In file included from C:Motion-TwinHaxelibhxcpp2,10//include/hxcpp.h:170:
C:Motion-TwinHaxelibhxcpp2,10//include/Array.h: In member function 'void Array_obj<ELEM_>::sort(Dynamic)':
C:Motion-TwinHaxelibhxcpp2,10//include/Array.h:388: error: 'sort' is not a member of 'std'
In file included from C:Motion-TwinHaxelibhxcpp2,10//include/hxcpp.h:171:
C:Motion-TwinHaxelibhxcpp2,10//include/Class.h: In function 'bool hx::TCanCast(hx::Object*)':
C:Motion-TwinHaxelibhxcpp2,10//include/Class.h:139: error: must #include <typeinfo> before using typeid
Called from ? line 1
Called from BuildTool.hx line 1265
Called from BuildTool.hx line 554
Called from BuildTool.hx line 591
Called from BuildTool.hx line 710
Called from BuildTool.hx line 739
Called from BuildTool.hx line 153
Uncaught exception - Error creating pch: 1 - build cancelled
Error : Build failed
Build halted with errors (haxelib.exe).
Done(1)
有人知道可能出了什么问题吗?我试着在eclipse中运行一个简单的helloworld应用程序(这样我就可以确定它与haxe和nme有关),但hellowword应用程序运行得很好。
您是否使用了NME 3.5.3或更高版本?然后您需要切换到hxcpp 2.10.3。它将解决问题。尝试使用以下命令通过haxelib更新hxcpp
haxelib升级
这个问题很久以前就通过谷歌上的一些点击得到了解决。我现在找不到它,但它是关于NDK目录的,我不得不移动或复制结构中的一些文件。它可能是类似于的东西
据我记忆所及,它与此类似(Andy在openfl上发布的答案):
从复制文件${ANDROID_NDK_ROOT}\sources\cxx stl\gnu libstdc++\4.4.3${ANDROID_NDK_ROOT}\sources\cxx stl\gnu libstdc++\
以下是他的答案链接,以及上面的一些类似问题:
http://www.openfl.org/developer/forums/installing-openfl/beginner-questions-android-build-failed/