Проблема с использованием cmake с опциями компилятора - PullRequest
0 голосов
/ 24 января 2019

У меня есть сценарий среды 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 выше. Затем я получаю ту же ошибку, что и в предыдущих двух сценариях.

Это рекомендуемые варианты, но я не смог их использовать. Что мне здесь не хватает? Пожалуйста помоги. Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...