Android Ошибка студии: обнаружена метка порядка байтов UTF-16 (LE), но кодировка не поддерживается - PullRequest
0 голосов
/ 08 марта 2020

Я новичок в Android студии, и я хотел создать приложение, которое использует мой код на C ++. Я импортирую. cpp файлы, используя Cmake, и, собирая проект, получаю следующую ошибку:

Build command failed.
Error while executing process F:\Android with arguments {SKD_Components\cmake\3.10.2.4988404\bin\ninja.exe -C A:\...\app\.cxx\cmake\debug\armeabi-v7a native-lib}
ninja: Entering directory `A:\...\app\.cxx\cmake\debug\armeabi-v7a'
[1/2] Building CXX object CMakeFiles/native-lib.dir/A_/Visual_Studio_Projects/.../filename.cpp.o
FAILED: CMakeFiles/native-lib.dir/A_/Visual_Studio_Projects/.../filename.cpp.o 
"F:\Android SKD_Components\ndk\20.0.5594570\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe" --target=armv7-none-linux-androideabi21 --gcc-toolchain="F:/Android SKD_Components/ndk/20.0.5594570/toolchains/llvm/prebuilt/windows-x86_64" --sysroot="F:/Android SKD_Components/ndk/20.0.5594570/toolchains/llvm/prebuilt/windows-x86_64/sysroot"  -Dnative_lib_EXPORTS -IA:/Visual_Studio_Projects/PasswordGenerator/PasswordGenerator -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -fno-addrsig -march=armv7-a -mthumb -Wa,--noexecstack -Wformat -Werror=format-security   -O0 -fno-limit-debug-info  -fPIC -MD -MT CMakeFiles/native-lib.dir/A_/Visual_Studio_Projects/.../filename.cpp.o -MF CMakeFiles\native-lib.dir\A_\Visual_Studio_Projects\...\filename.cpp.o.d -o CMakeFiles/native-lib.dir/A_/Visual_Studio_Projects/.../filename.cpp.o -c A:/Visual_Studio_Projects/PasswordGenerator/PasswordGenerator.cpp
fatal error: UTF-16 (LE) byte order mark detected in 'A:/Visual_Studio_Projects/.../filename.cpp', but encoding is not supported
1 error generated.
ninja: build stopped: subcommand failed.

Что-то делать с кодировкой, но я не могу понять, что именно. У кого-нибудь есть решение?

1 Ответ

0 голосов
/ 08 марта 2020

Ошибка говорит о том, что исходный файл filename.cpp начинается с UTF-16LE BOM (байты FF FE), указывая на то, что содержимое файла было закодировано в UTF-16. Компилятор, который вы используете, не поддерживает компиляцию исходных файлов, которые находятся в этой кодировке. Вам необходимо изменить кодировку вашего .cpp файла на другую кодировку, предпочтительно 7/8-битную кодировку, такую ​​как UTF-8 или, скорее всего, просто ASCII. Какой бы редактор вы ни использовали для создания этого файла, проверьте, есть ли в нем опция для указания другой кодировки при сохранении файлов. В противном случае вам потребуется использовать сторонний инструмент для перекодирования существующего файла, например iconv .

...