xcode – DEVELOPER_DIR是否需要在环境中保持设置?
我想并排安装XCode,并使用DEVELOPER_DIR环境变量在它们之间进行选择.这样做的目的是使用xcrun -f –sdk macosx clang的结果来确定适当的C编译器,然后在脚本或构建系统中使用它.
CC = $(DEVELOPER_DIR =< something> xcrun -f –sdk macosx clang) 我的问题是在使用xcrun找到的工具时是否需要保持DEVELOPER_DIR设置,或者是否可以在执行xcrun期间设置它,如上所述,然后在默认环境中使用返回的工具,而不使用DEVELOPER_DIR仍然设定. 换句话说,虽然xcrun显然取决于DEVELOPER_DIR的值,但这些工具本身也依赖于它吗?两者之间有什么有意义的区别: > DEVELOPER_DIR =< whatever>命令CC = $(xcrun -f –sdk macosx clang) 第二个是正确的吗?还是只有第一个? 解决方法
安装两个或更多版本的Xcode很好.在它们之间进行选择的常用方法是使用xcode-select命令,但该命令的手册页似乎确实表明您可以通过自己设置DEVELOPER_DIR环境变量来完成当前会话的相同操作.以下是–switch选项的文档说明:
但是,您还应该注意环境部分中给出的建议:
那么< what>在您的问题中应该指定Developer目录的完整路径,而不仅仅是Xcode应用程序.
使用xcrun查找工具,以便您可以自己调用它们并担心何时设置和取消设置DEVELOPER_DIR似乎过于复杂.根据xcode-select文档,所有“垫片”都遵循DEVELOPER_DIR设置.这里的“Shims”是指/usr/bin中的Xcode命令.只要正确设置了该环境变量,就可以调用’/usr/bin/clang’而不是xcrun找到的任何内容,而/usr/bin/clang将调用DEVELOPER_DIR中的clang版本.据推测,你问这个问题是因为你正在编写某种类型的构建脚本,所以在该脚本中尽早设置DEVELOPER_DIR然后只使用/usr/bin命令应该没有问题.
程序从其父进程继承环境.在这里,您要找到要使用的clang的正确副本,但是您将在未设置DEVELOPER_DIR的环境中调用它.这是否重要取决于您使用的工具是否调用任何其他工具.老实说,我不知道是否有任何工具会调用其他工具,但像xcodebuild这样的工具会调用许多这些工具,因此依赖于DEVELOPER_DIR正确设置似乎是合乎逻辑的. 简而言之,在构建脚本中根据需要设置DEVELOPER_DIR没有任何缺点,并且仅在调用xcrun时尝试指定它似乎比替代方法更不可靠. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |