У меня есть сценарий среды yocto toolchain, который устанавливает все переменные среды, такие как CC
CXX
PATH
и т. Д.
В основном это имеет следующие строки:
export CC="arm-oe-linux-gnueabi-gcc -march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 --sysroot=$SDKTARGETSYSROOT"
export CXX="arm-oe-linux-gnueabi-g++ -march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 --sysroot=$SDKTARGETSYSROOT"
Я sourced
этот файл в моей текущей shell
и выполнил команду cmake
. Тогда я получаю следующую ошибку в CMakeError.log
Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
Compiler: /home/ramana/9150/toolchain/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc -march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 --sysroot=/home/ramana/9150/toolchain/sysroots/cortexa8hf-vfp-neon-oe-linux-gnueabi
Build flags:
Id flags:
The output was:
No such file or directory
Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
Compiler: /home/ramana/9150/toolchain/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc -march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 --sysroot=/home/ramana/9150/toolchain/sysroots/cortexa8hf-vfp-neon-oe-linux-gnueabi
Build flags:
Id flags: -c
The output was:
No such file or directory
и т. Д.
Если я сделаю ls
в этом файле:
ramana@ramana-VirtualBox:~/9150$ ls -l /home/ramana/9150/toolchain/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc
-rwxr-xr-x 1 ramana ramana 862352 Jan 23 17:38 /home/ramana/9150/toolchain/sysroots/x86_64-oesdk-linux/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-gcc
так что файл существует по этому пути.
Далее я попытался установить CMAKE_C_COMPILER
и CMAKE_CXX_COMPILER
в CMakeLists.txt
как:
set (CMAKE_C_COMPILER $ENV{CC})
set (CMAKE_CXX_COMPILER $ENV{CXX})
Теперь я получаю ту же ошибку в CMakeError.log
:
Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
Compiler: arm-oe-linux-gnueabi-gcc -march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 --sysroot=/home/ramana/9150/toolchain/sysroots/cortexa8hf-vfp-neon-oe-linux-gnueabi
Build flags:
Id flags:
The output was:
No such file or directory
Compiling the C compiler identification source file "CMakeCCompilerId.c" failed.
Compiler: arm-oe-linux-gnueabi-gcc -march=armv7-a -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 --sysroot=/home/ramana/9150/toolchain/sysroots/cortexa8hf-vfp-neon-oe-linux-gnueabi
Build flags:
Id flags: -c
The output was:
No such file or directory
Затем я попробовал параметр командной строки, используя
cmake -DCMAKE_C_COMPILER=$CC
Тогда я получаю ту же ошибку с отсутствующим compiler options
. Поэтому я добавил двойные кавычки к $CC
выше. Затем я получаю ту же ошибку, что и в предыдущих двух сценариях.
Это рекомендуемые варианты, но я не смог их использовать. Что мне здесь не хватает? Пожалуйста помоги. Заранее спасибо