我有一个脚本来设置交叉编译所需的所有变量。这里只是其中的一部分:cmake:从脚本设置环境变量
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会话,我可以编译我的例子。
是否有可能在cmake中导入这些变量?如果是,如何?
多一点细节:
- 我使用ELDK v 5.4,它的安装脚本生成一个脚本设置所有环境变量
- 我发现this tutorial,这也解释了如何手动交叉设置编译,但不是如何使用脚本,它设置的一切
- 如果我设置cmake之前调用脚本,一切正常,我可以交叉编译,但我希望cmake调用脚本
set(ENV {PATH}“/ home/martink”)为任何人工作?它不工作在我的 –
@PriteshAcharya有一个错字,类型集($ ENV {PATH}“/ home/martink”) –
@JeanDavy我不认为这是一个错字集($ ENV {PATH}“/ home/martink“)会将您指定$ ENV {PATH}的PATH的当前值作为变量名称,因此它不会设置您认为正在设置的内容。我只是偶然做到了这一点!一个更常见的路径设置将被设置(ENV {PATH}“/ home/martink:$ ENV {PATH}”),这就是'$'的必要位置。 –