我有一个脚本来设置交叉编译所需的所有变量。这只是其中的一部分:
export CONFIG_SITE=~/workspace/eldk-5.4/powerpc/site-config-powerpc-linux export CC="powerpc-linux-gcc -m32 -mhard-float --sysroot=~/workspace/eldk-5.4/powerpc/sysroots/powerpc-linux" export CXX="powerpc-linux-g++ -m32 -mhard-float --sysroot=~/workspace/eldk-5.4/powerpc/sysroots/powerpc-linux" export CPP="powerpc-linux-gcc -E -m32 -mhard-float --sysroot=~/workspace/eldk-5.4/powerpc/sysroots/powerpc-linux" export AS="powerpc-linux-as " export LD="powerpc-linux-ld --sysroot=~/workspace/eldk-5.4/powerpc/sysroots/powerpc-linux" export GDB=powerpc-linux-gdb
如果这样做source environment-setup-powerpc- linux,所有环境变量都将导入到当前的Shell会话中,并且可以编译我的示例。
source environment-setup-powerpc- linux
是否可以在cmake中导入这些变量?如果是,怎么办?
更多细节:
阅读cmake快速入门,您可以在命令行上指定变量:
cmake -DVARIABLE1=value1 -DVARIABLE2=value2 ...
否则,set可能需要cmake脚本中的命令,请参阅参考手册。要设置 环境变量 PATH,请执行以下操作:
set
set(ENV{PATH} "/home/martink")
要设置普通变量,请执行以下操作:
set(variable "value")
不知道您必须设置哪些,可能是环境的。
就是说, 在调用cmake之前设置环境变量 通常是解决问题的最简单方法,例如:https : //stackoverflow.com/a/15053460/684229