Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为xcode添加全局包含路径_Xcode_Macos_Include - Fatal编程技术网

如何为xcode添加全局包含路径

如何为xcode添加全局包含路径,xcode,macos,include,Xcode,Macos,Include,我想在使用Xcode时为所有项目的include路径添加~/include,类似于在Linux中设置环境变量CPLUS\u include\u path。(有关Linux的相关问题,请参阅。) 这在Xcode中可能吗?我尝试设置上面的环境变量,但似乎不起作用。(如果可能的话,我还想设置相关的路径,比如LIBRARY\u PATH和LD\u LIBRARY\u PATH。)将标题搜索路径构建设置添加到您的Xcode项目中。此设置采用以空格分隔的路径列表,如果路径以双星(***)结尾,它将递归搜索子

我想在使用Xcode时为所有项目的include路径添加~/include,类似于在Linux中设置环境变量
CPLUS\u include\u path
。(有关Linux的相关问题,请参阅。)


这在Xcode中可能吗?我尝试设置上面的环境变量,但似乎不起作用。(如果可能的话,我还想设置相关的路径,比如LIBRARY\u PATH和LD\u LIBRARY\u PATH。)

标题搜索路径
构建设置添加到您的Xcode项目中。此设置采用以空格分隔的路径列表,如果路径以双星(
***
)结尾,它将递归搜索子目录。因此,要回答您的示例,请将
标题搜索路径设置为:

~/include
如果要包括多个路径,可以将其设置为:

~/include ~/my_other_includes/** /usr/local/special_frameworks/**
根据,可以使用为任何生成设置提供默认值

在这种情况下,您需要设置
标题搜索路径
。出于某种原因我不明白,这不起作用。它适用于其他构建设置(例如,其他标签),但不适用于
标题搜索路径。通过在build settings(构建设置)窗口(左下角的book(书本)按钮)中打开research assistant,可以查看任何设置的变量名称

一个有效的变量是
USER\u HEADER\u SEARCH\u path
,它与您想要的一样,但只适用于双引号中的路径(不在尖括号中)

所以

会有用的,但是

#include <bar.h>
#包括
不会的

上面关于环境变量的文章中引用的构建设置plist最终应该是这样的:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>USER_HEADER_SEARCH_PATHS</key>
    <string>~/test</string>
</dict>
</plist>

用户\标题\搜索\路径
~/试验

希望有帮助。

生成设置不是环境变量,环境变量也不是生成设置。设置环境变量不会影响Xcode生成

USER\u HEADER\u SEARCH\u path
是一个构建设置,将路径列表放入其中将实现您想要的功能。如果在目标的检查器中设置该值,则该值将仅对该目标生效(并且仅对您指定的生成配置生效)。如果在“项目检查器”中设置它,则它将在项目中的所有目标中生效,除非目标使用其自身的设置替代它


对于特定于您的机器的路径,您可能应该在Xcode首选项中定义源代码树,例如
LOCAL\u INCLUDE=~/INCLUDE
。然后在项目中定义
USER\u HEADER\u SEARCH\u path=$(LOCAL\u INCLUDE)
。这样,其他人就可以打开您的项目并通过将其源代码树设置为其计算机上本地包含的特定位置来构建它,而无需更改项目文件

只需在“组和文件选项卡”中选择一个.c或.m文件,然后通过RMB选择“获取信息”, 然后在“build”下,您可以添加额外的编译器标志,如-I,用于额外的include searchpath。

对于任何试图实现这一目标的受祝福的宠儿,或者任何其他破解
~/.MacOSX/environment.plist
,也就是山狮后世界中的全球环境变量,请查看

EnvPane是Mac OS X 10.8(Mountain Lion)的首选项窗格,允许您在图形和终端会话中为所有程序设置环境变量。它不仅恢复了对Mountain Lion中~/.MacOSX/environment.plist的支持,还可以立即发布对环境的更改,而无需注销和重新登录。这甚至适用于手动编辑~/.MacOSX/environment.plist所做的更改,而不仅仅是通过首选项窗格所做的更改


我想要一个全局设置,这样我就不必为每个Xcode项目添加相同的路径。好的,您最初并没有这样说。正如Jesse所说,您也可以在您的环境中设置构建设置,我想这对您很有用。设置环境变量确实会影响构建设置。在苹果的文档中,它非常清楚地说明了这一点,而且它是有效的。你的断言与实际使用不符-猜一猜。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>USER_HEADER_SEARCH_PATHS</key>
    <string>~/test</string>
</dict>
</plist>