Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

这边新建的一个creator 工程,进行build,构建都不能成功的 #16877

Closed
lianchengtong opened this issue Apr 7, 2024 · 15 comments
Labels
Bug Needs Triage Needs to be assigned by the team

Comments

@lianchengtong
Copy link

Cocos Creator version

3.8.2

System information

window 11

Issue description

[CXX1429] error when building with cmake using \native\engine\android\CMakeLists.txt: -- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - failed
-- Check for working CXX compiler: D:/developer/android-ndk-r21e/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe
-- Check for working CXX compiler: D:/developer/android-ndk-r21e/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe - broken
-- Configuring incomplete, errors occurred!
See also "/proj/build/Debug/203z44k6/arm64-v8a/CMakeFiles/CMakeOutput.log".
See also "/proj/build/Debug/203z44k6/arm64-v8a/CMakeFiles/CMakeError.log".

C++ build system [configure] failed while executing:
@echo off
"D:\developer\android\sdk\cmake\3.22.1\bin\cmake.exe" ^
"-HD:\htdocs\Sample\native\engine\android" ^
"-DCMAKE_SYSTEM_NAME=Android" ^
"-DCMAKE_EXPORT_COMPILE_COMMANDS=ON" ^
"-DCMAKE_SYSTEM_VERSION=21" ^
"-DANDROID_PLATFORM=android-21" ^
"-DANDROID_ABI=arm64-v8a" ^
"-DCMAKE_ANDROID_ARCH_ABI=arm64-v8a" ^
"-DANDROID_NDK=D:\developer\android-ndk-r21e" ^
"-DCMAKE_ANDROID_NDK=D:\developer\android-ndk-r21e" ^
"-DCMAKE_TOOLCHAIN_FILE=D:\developer\android-ndk-r21e\build\cmake\android.toolchain.cmake" ^
"-DCMAKE_MAKE_PROGRAM=D:\developer\android\sdk\cmake\3.22.1\bin\ninja.exe" ^
"-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=D:\htdocs\Sample\build\test\proj\build\Sample\intermediates\cxx\Debug\203z44k6\obj\arm64-v8a" ^
"-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=D:\htdocs\Sample\build\test\proj\build\Sample\intermediates\cxx\Debug\203z44k6\obj\arm64-v8a" ^
"-DCMAKE_BUILD_TYPE=Debug" ^
"-BD:\htdocs\Sample\build\test\proj\build\Debug\203z44k6\arm64-v8a" ^
-GNinja ^
"-DRES_DIR=" ^
"-DANDROID_STL=c++_static" ^
"-DANDROID_TOOLCHAIN=clang" ^
"-DANDROID_ARM_NEON=TRUE"
from D:\htdocs\Sample\native\engine\android\app
CMake Error at D:/developer/android/sdk/cmake/3.22.1/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake:62 (message):
The C++ compiler

"D:/developer/android-ndk-r21e/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe"

is not able to compile a simple test program.

It fails with the following output:

Change Dir: /proj/build/Debug/203z44k6/arm64-v8a/CMakeFiles/CMakeTmp

Run Build Command(s):D:\developer\android\sdk\cmake\3.22.1\bin\ninja.exe cmTC_e905d && ninja: fatal: couldn't open nul

CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
CMakeLists.txt:4 (project)

Relevant error log output

No response

Steps to reproduce

正常操作,没有进行任何的游戏添加处理,一个simple版本,提示如上信息

Minimal reproduction project

No response

@lianchengtong lianchengtong added Bug Needs Triage Needs to be assigned by the team labels Apr 7, 2024
@minggo
Copy link
Contributor

minggo commented Apr 9, 2024

看上面的错误,你设置的 armeabi 是 arm 的,然后编译的是模拟器?模拟器是 x86 架构的。

@lianchengtong
Copy link
Author

lianchengtong commented Apr 10, 2024

这个不是运行,这只是在编译,都没有过,是在真机上面进行运行的,这边选择了全部的,在编译的时候可以选择对应的架构处理器的,现在还没有运行调试,都不行

@minggo
Copy link
Contributor

minggo commented Apr 10, 2024

编译就是根据架构选择对应的编译工具链的。

@minggo
Copy link
Contributor

minggo commented Apr 10, 2024

这边选择了全部的

上面的 log 内容是

"-DANDROID_ABI=arm64-v8a" ^

而对应的错误是

-- Check for working CXX compiler: D:/developer/android-ndk-r21e/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe

明显就是架构不对

@lianchengtong
Copy link
Author

lianchengtong commented Apr 10, 2024

这边是cocos creator 自己生成的,没有做其他的处理,编译是在window下面的,所以选择的工具链是window-x86_64,但是运行是在原生的安卓平台,选择的架构也是cocos creator 里面选填的,那就是这边自动生成的有问题
PROP_APP_ABI=armeabi-v7a:arm64-v8a:x86_64,这其中是哪里的问题?你这边自己也可以用creator 生成一个空的项目出来,运行也一样出类似的问题
externalNativeBuild {
cmake {
targets "cocos"
arguments "-DRES_DIR=${RES_PATH}", "-DANDROID_STL=c++_static", "-DANDROID_TOOLCHAIN=clang", "-DANDROID_ARM_NEON=TRUE"
}
ndk { abiFilters PROP_APP_ABI.split(':') }
}

@minggo
Copy link
Contributor

minggo commented Apr 10, 2024

我们发版本时是有测试的。不过测试的方式可能和你不一样。你可能通过 creator 直接编译,也可能是通过 Android Studio 编译。所以还请写下重现的步骤。包括 Android Studio 的版本信息等。

@lianchengtong
Copy link
Author

lianchengtong commented Apr 10, 2024

操作方式,creator,自动生成,不能构建成功,也不能运行,再用as,版本号是lguana| 2023.2.1, 打开编译运行,就是报如上错误信息。
image
creator 版本是3.8.2,最新版本
image

@baitaotest
Copy link

构建的时候选择APP ABI为arm, 编译时选择支持x86的手机,会失败
image

@baitaotest
Copy link

@lianchengtong 测试这边试了一下没复现,可以提供下构建面板具体的参数,及编译方式和所用的模拟器类型吗,或者录个视频给我,谢谢

@lianchengtong
Copy link
Author

lianchengtong commented Apr 19, 2024

Snipaste_2024-04-18_16-00-07
Snipaste_2024-04-18_16-00-27
这个就是正常的设置,你这边不可能复现不了的,都是正常选择操作的。你这边是怎么设置操作的,发你这边过来,这边也按你这操作试一下

@minggo
Copy link
Contributor

minggo commented Apr 19, 2024

@lianchengtong 最好把你复现的步骤说得更详细些。

@lianchengtong
Copy link
Author

lianchengtong commented Apr 19, 2024

这边就是正常的步骤操作,都按流程来的,如上所示,已经提供了所有信息的,包括操作步骤这些等等信息,这边是否需要查询一下,或怎么的?选择Build, 选择基本的配置选项,再构建,再到run, 最后运行,没有别的啥步骤,这样下来就是不行。出错如上所示信息,你这边是怎么测试的,我这边也按你这边的测试流程构建一个项目,creator主打,还是ts部分,其他都是打包的部分。这个描述很详尽,如有其他,就是远程看看啦

@minggo
Copy link
Contributor

minggo commented Apr 19, 2024

@baitaotest 把你操作的步骤说明一下。

@baitaotest
Copy link

baitaotest commented Apr 19, 2024

image
image
image
@lianchengtong 我也是按照你一样的配置选项操作的,不管用Creator直接构建生成(真机运行)还是用Android Studio编译(模拟器运行),都是成功的,我是win11, Androud Studio版本和Creator版本都是和你上面截图的一样,NDK是21,只是工程不一样

@minggo
Copy link
Contributor

minggo commented Apr 23, 2024

从问题描述来看,应该是环境或者操作步骤的问题。请到论坛里反馈这种问题吧。

@minggo minggo closed this as completed Apr 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Needs Triage Needs to be assigned by the team
Projects
None yet
Development

No branches or pull requests

3 participants