cocos2dx 3.17.2 android studio 编译运行项目报错

Execution failed for task ‘:luademo:buildCMakeDebug[armeabi-v7a]’.

Build command failed.
Error while executing process C:\Users\Administrator\AppData\Local\Android\Sdk\cmake\3.18.1\bin\ninja.exe with arguments {-C F:\CocosProject\luademo\frameworks\runtime-src\proj.android\app.cxx\Debug\56261w2w\armeabi-v7a cocos2dlua}
ninja: Entering directory `F:\CocosProject\luademo\frameworks\runtime-src\proj.android\app.cxx\Debug\56261w2w\armeabi-v7a’
[1/1] Linking CXX shared library …\build\intermediates\cxx\Debug\56261w2w\obj\armeabi-v7a\libcocos2dlua.so
FAILED: …/…/…/…/build/intermediates/cxx/Debug/56261w2w/obj/armeabi-v7a/libcocos2dlua.so
cmd.exe /C “cd . && C:\Users\Administrator\AppData\Local\Android\Sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=armv7-none-linux-androideabi16 --gcc-toolchain=C:/Users/Administrator/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=C:/Users/Administrator/AppData/Local/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -frtti -fexceptions -fsigned-char -O0 -fno-limit-debug-info -Wl,–exclude-libs,libgcc.a -Wl,–exclude-libs,libgcc_real.a -Wl,–exclude-libs,libatomic.a -static-libstdc++ -Wl,–build-id=sha1 -Wl,–no-rosegment -Wl,–fatal-warnings -Wl,–exclude-libs,libunwind.a -Wl,–no-undefined -Qunused-arguments -shared -Wl,-soname,libcocos2dlua.so -o …\build\intermediates\cxx\Debug\56261w2w\obj\armeabi-v7a\libcocos2dlua.so CMakeFiles/cocos2dlua.dir/frameworks/runtime-src/Classes/AppDelegate.cpp.o CMakeFiles/cocos2dlua.dir/frameworks/runtime-src/proj.android/app/jni/hellolua/main.cpp.o -Wl,–whole-archive engine/cocos/platform/libcpp_android_spec.a -Wl,–no-whole-archive -Wl,–whole-archive engine/cocos/lua-android/liblua_android_spec.a -Wl,–no-whole-archive lib/libluacocos2d.a lib/libcocos2d.a lib/libexternal.a …/…/…/…/…/…/…/cocos2d-x/external/Box2D/prebuilt/android/armeabi-v7a/libbox2d.a …/…/…/…/…/…/…/cocos2d-x/external/chipmunk/prebuilt/android/armeabi-v7a/libchipmunk.a …/…/…/…/…/…/…/cocos2d-x/external/freetype2/prebuilt/android/armeabi-v7a/libfreetype.a lib/libext_recast.a …/…/…/…/…/…/…/cocos2d-x/external/jpeg/prebuilt/android/armeabi-v7a/libjpeg.a …/…/…/…/…/…/…/cocos2d-x/external/webp/prebuilt/android/armeabi-v7a/libwebp.a …/…/…/…/…/…/…/cocos2d-x/external/bullet/prebuilt/android/armeabi-v7a/libLinearMath.a …/…/…/…/…/…/…/cocos2d-x/external/bullet/prebuilt/android/armeabi-v7a/libBulletDynamics.a …/…/…/…/…/…/…/cocos2d-x/external/bullet/prebuilt/android/armeabi-v7a/libBulletCollision.a …/…/…/…/…/…/…/cocos2d-x/external/bullet/prebuilt/android/armeabi-v7a/libLinearMath.a …/…/…/…/…/…/…/cocos2d-x/external/bullet/prebuilt/android/armeabi-v7a/libBulletMultiThreaded.a …/…/…/…/…/…/…/cocos2d-x/external/bullet/prebuilt/android/armeabi-v7a/libMiniCL.a …/…/…/…/…/…/…/cocos2d-x/external/tiff/prebuilt/android/armeabi-v7a/libtiff.a …/…/…/…/…/…/…/cocos2d-x/external/websockets/prebuilt/android/armeabi-v7a/libwebsockets.a …/…/…/…/…/…/…/cocos2d-x/external/uv/prebuilt/android/armeabi-v7a/libuv_a.a …/…/…/…/…/…/…/cocos2d-x/external/openssl/prebuilt/android/armeabi-v7a/libssl.a …/…/…/…/…/…/…/cocos2d-x/external/openssl/prebuilt/android/armeabi-v7a/libcrypto.a lib/libext_tinyxml2.a lib/libext_xxhash.a lib/libext_xxtea.a lib/libext_clipper.a lib/libext_edtaa3func.a lib/libext_convertUTF.a lib/libext_poly2tri.a lib/libext_md5.a …/…/…/…/…/…/…/cocos2d-x/external/curl/prebuilt/android/armeabi-v7a/libcurl.a …/…/…/…/…/…/…/cocos2d-x/external/png/prebuilt/android/armeabi-v7a/libpng.a engine/external/android-specific/cpufeatures/libext_cpufeatures.a -ldl lib/libext_pvmp3dec.a lib/libext_tremolo.a …/…/…/…/…/…/…/cocos2d-x/external/zlib/prebuilt/android/armeabi-v7a/libz.a lib/libext_unzip.a -lGLESv2 -lEGL -llog -landroid -lOpenSLES …/…/…/…/…/…/…/cocos2d-x/external/lua/luajit/prebuilt/android/armeabi-v7a/libluajit.a lib/libext_tolua.a lib/libext_luasocket.a -latomic -lm && cd .”
ld: error: lib/libluacocos2d.a(CCLuaEngine.cpp.o): unable to find library from dependent library specifier: lua51.lib
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

求大佬指教

cmake编译的???
没搞过。。。
我是改成了ndk编译的 :astonished:

ld: error: lib/libluacocos2d.a(CCLuaEngine.cpp.o): unable to find library from dependent library specifier: lua51.lib

对,cmake编译的,ndk编译的话 也报错
Execution failed for task ‘:tanchishe:externalNativeBuildDebug’.

Build command failed.
Error while executing process C:\Users\Administrator\AppData\Local\Android\Sdk\ndk-bundle\ndk-build.cmd with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=F:\CocosProject\tanchishe\frameworks\runtime-src\proj.android\app\jni\Android.mk NDK_APPLICATION_MK=F:\CocosProject\tanchishe\frameworks\runtime-src\proj.android\app\jni\Application.mk APP_ABI=armeabi-v7a NDK_ALL_ABIS=armeabi-v7a NDK_DEBUG=1 APP_PLATFORM=android-19 NDK_OUT=F:/CocosProject/tanchishe/frameworks/runtime-src/proj.android/app/build/intermediates/ndkBuild/debug/obj NDK_LIBS_OUT=F:\CocosProject\tanchishe\frameworks\runtime-src\proj.android\app\build\intermediates\ndkBuild\debug\lib NDK_TOOLCHAIN_VERSION=clang -j8 NDK_MODULE_PATH=F:/CocosProject/tanchishe/frameworks/cocos2d-x;F:/CocosProject/tanchishe/frameworks/cocos2d-x/cocos;F:/CocosProject/tanchishe/frameworks/cocos2d-x/external NDK_DEBUG=1 cocos2dlua}

对就是这个 不知道怎么改

我的ndk版本是21
APP_PLATFORM 是21还是26来着。。。
其他版本的没有试过。。。

好吧,好头疼啊

按这个文档试下,
https://docs.cocos.com/cocos2d-x/manual/zh/editors_and_tools/cocosCLTool.html#工具配置
win下的python要2.x的32位版本

引擎里,cocos2d-x-3.17.2/external/config.json 可以修改一下,然后再执行

python setup.py
//"version": "v3-deps-158",改成v3-deps-160 //相对于比较新的库[https://github.com/cocos2d/cocos2d-x-3rd-party-libs-bin](https://github.com/cocos2d/cocos2d-x-3rd-party-libs-bin)
{
    "version": "v3-deps-160",
    "zip_file_size": "141265643",
    "repo_name": "cocos2d-x-3rd-party-libs-bin",
    "repo_parent": "https://github.com/cocos2d/",
    "move_dirs": {
        "fbx-conv": "tools"
    }
}

建议引擎用最原始的(git上的https://github.com/cocos2d/cocos2d-x/tree/cocos2d-x-3.17.2,然后按照readme.md操作一下),不要用你现在编译过的(只是为了排除一些人为因素)

建议对比下个工具版本,之前遇到改了一堆版本后就编译通过了

gradle plugin 版本 4.2.2
gradle 6.7.1
ndk 版本:r16

#if _MSC_VER
#if _MSC_VER > 1800
#pragma comment(lib,“lua51-2015.lib”)
#else
#pragma comment(lib,“lua51.lib”)
#endif
#endif

改成这样就可以了
不知道官方怎么搞的,lua51.lib 是windows版本编译的时候用,你这个都是android版本,根本用不着。

2赞

这个方法有用,代码在
CCLuaEngine.cpp