android cmake错误使用2字节wchar\t,但输出使用4字节

android cmake错误使用2字节wchar\t,但输出使用4字节,android,c++,c,cmake,Android,C++,C,Cmake,我试图使用cmake编译我的ndk库,但我只能构建x86和x86-64。当我尝试armeabi-v7a时,构建输出显示: C:/Users/use/AppData/Local/Android/Sdk/ndk/17.2.4988734/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/

我试图使用cmake编译我的ndk库,但我只能构建x86和x86-64。当我尝试armeabi-v7a时,构建输出显示:

  C:/Users/use/AppData/Local/Android/Sdk/ndk/17.2.4988734/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin\ld: warning: CMakeFiles/engine.dir/cfiles/bt.c.o uses 2-byte wchar_t yet the output is to use 4-byte wchar_t; use of wchar_t values across objects may fail
  
  
  C:/Users/use/AppData/Local/Android/Sdk/ndk/17.2.4988734/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin\ld: error: treating warnings as errors
  
  clang.exe: error: linker command failed with exit code 1 (use -v to see invocation)
  
  ninja: build stopped: subcommand failed.
我读过一些问题,如:

我尝试了在ndk构建方式中编译本地\u LDLIBS+=-W1——没有wchar大小警告,它可以正常工作

但我不知道如何让它在cmakelist.txt中工作 我试过:

但是,它不起作用

编译和链接标志必须写入build.gradle吗

我试图在
cmakelist.txt
中编写
set(CMAKE\u CXX\u标志“XXXXX”)
,但它也不起作用。 我在build.gradle中写入
cppFlags=“XXXXX”
,它就可以工作了


谢谢你的关注

它似乎在说一个库是用2字节的w_char而不是4字节编译的。什么是完整的警告线。舒尔ur是否不尝试将x86二进制文件链接到arm@JesseTaube谢谢你的评论!我并没有试图将二进制文件链接到arm,而是用c文件编译库。我已经通过在cmakelist.txt中写入这个解决了这个问题<代码>设置(CMAKE_共享链接器_标志“${CMAKE_共享链接器_标志}-W1--无wchar大小警告”)
set(CMAKE_SHARED_LINKER_FLAGS " -W1 --no-wchar-size-warning")
set(CMAKE_STATIC_LINKER_FLAGS " -W1 --no-wchar-size-warning")