The following build commands failed:
CompileC build/cocos2d_lua_bindings.build/Release-iphoneos/libluacocos2d\ iOS.build/Objects-normal/armv7/loslib.o frameworks/cocos2d-x/external/lua/lua/loslib.c normal armv7 c com.apple.compilers.llvm.clang.1_0.compiler(1 failure)
使用xcodebuild命令编译IOS工程时,有上述报错。此问题的原因是loslib.c文件有报错,但是并未有任何错误提示。正常真机调试或者Mac版本均编译通过。先不纠结为何在此环境编译会报错。
通过查看代码发现:
static int os_execute (lua_State *L) {
//lua_pushinteger(L, system(luaL_optstring(L, 1, NULL)));
return 1;
}
调用了system接口,在xcode9.0或者更高的版本里,需要使用nftw方式来代替system接口。即可解决问题。或者lua里无需调用os_execute 接口,注释掉即可。