使用带有编译器选项的cmake出现问题

时间:2019-01-24 14:47:48

标签: cmake

我有一个yocto工具链的环境脚本,它可以设置所有环境变量,例如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"

我在当前的sourcedshell使用此文件,并运行了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_COMPILERCMakeLists.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中添加了双引号。然后我得到与前两种情况相同的错误。

这些是推荐的可用选项,但我无法使用它们。我在这里想念什么?请帮忙。预先感谢

0 个答案:

没有答案