如何在xcconfig #include中使用环境变量?

时间:2011-12-14 09:49:23

标签: xcode4 include xcconfig

在我的项目中,我想引用位于InDesign SDK中的其他xcconfig文件。由于这个SDK可能安装在不同的位置,根据机器的不同,我更喜欢声明一个环境变量来定位它。

Nest步骤显然是在我的xcconfig include指令中使用变量(恰当地命名为ID_CS5_SDK_DIR)。

不幸的是,当我尝试简单的

// InDesign sdk project build settings (based on common build settings)
#include "$(ID_CS5_SDK_ROOT)/build/mac/prj/_shared_build_settings/common.xcconfig"

XCode抛出了一个

 [WARN]AutocatPlugin.xcconfig line 7: Unable to find included file "$(ID_CS5_SDK_ROOT)/build/mac/prj/_shared_build_settings/common.xcconfig"

我怎样才能让它发挥作用?

5 个答案:

答案 0 :(得分:5)

我一直在努力做到这一点,并得出结论,这是不可能的。

答案 1 :(得分:3)

我曾经尝试过这样做,并得出结论,你做不到。如果有人向我们证明有可能会删除我的答案

,我会很高兴

答案 2 :(得分:0)

似乎.xcconfig文件只能DEFINE并将值设置为环境变量(仅在整个构建会话中占优势),而不是USE或评估环境变量。

可能是因为.xcconfig文件用作构建设置的基础层,并且未被解析。

答案 3 :(得分:0)

不幸的是,这是不可能的,但是不是让一个包含另一个,而是可以为每个目标使用两个不同的xcconfig文件。只需为项目选择一个,为目标选择一个。

enter image description here

答案 4 :(得分:-4)

如果将环境变量放在/etc/config/launchd.conf中然后重新启动,则可以访问.xcconfig文件。

有经验用户的简短说明:

编辑只读文件/etc/launchd.conf并将'setenv VARIABLENAME / FOLDER / PATH'添加到文件中,然后重新启动。

缺乏经验的用户的步骤

  1. 打开应用程序/工具/终端,然后输入

    sudo nano /etc/launchd.conf

  2. 通过添加类似

    setenv VARIABLENAME FOLDER/PATH

    的行,然后按ENTER键来创建环境变量。

  3. 使用Ctrl-O,Ctrl-M,(可能是Ctrl-Y覆盖)保存文件,然后按Ctrl-X退出编辑器。
  4. (可选)键入cat /etc/launchd.conf以查看您的更改是否存在
  5. 重新启动计算机。 (注销不起作用)
  6. 您现在可以将.xcconfig文件中的变量视为

    $(VARIABLENAME)
  7. 备注:

    • 这将创建一个可供所有用户访问的GLOBAL环境变量。将它设置为主目录中的某些内容可能没有意义(例如〜/ MyFolder)。但是,如果这样做,则需要使用完整路径名,例如/ Users / MyUserName / MyFolder)。

    <强>参考文献: