macos – 无法在OS X 10.10上为Qt Creator设置自定义$PATH

我使用Qt Creator和自定义构建系统(忍者).

问题是传递给Qt Creator IDE的$PATH变量绝对是vanilla:/usr/bin:/ bin:/usr/sbin:/ sbin.

因此,我必须将bash -c’/ path /写入/ ninja目标列表’而不仅仅是ninja目标列表,或者在终端中执行构建步骤,而不是在IDE中执行构建步骤.

我尝试了所有已知的食谱来设置$PATH.

>〜/ .bash_profile和〜/ .profile
> / etc / paths
> /etc/paths.d/*
> /etc/launchd.conf(setenv PATH …..)
>〜/ Library / LaunchAgents / * .plist(sh -c’upunchtcl setenv PATH $PATH:…..’)
> /Library/LaunchAgents/*.plist

使用启动agenes的想法在StackOverflow answer中描述.

没有用!
我的自定义.plist文件中的任意环境变量设置正确, – 除了PATH之外的任何变量.
(我已经测试过它:创建了一个自定义构建步骤echo xzxzxz = $XZXZXZ path = $PATH其中xzxzxz也在我的启动代理中设置).

有趣的是,如果我从bash会话启动Qt Creator(‘/ Applications / Qt Creator.app/Contents/MacOS/Qt Creator’&),它会获得正确的PATH,与bash本身相同.

同样有趣的是,随后启动代理分配的PATH将被覆盖.在那里我写了sh -c’startctl setenv PATH $PATH:/ HELLOWORLD’,但我没有在echo $PATH中看到HELLOWORLD.
因此,存在竞争条件,有人从/ etc / paths和/etc/paths.d稍后重建PATH.

从而:

>是否有详尽的最新解释如何在OSX 10.10上设置环境变量,特别是PATH?
>为什么PATH成为香草?
>如何用Qt Creator赢得比赛?

最佳答案 您可以在Qt Creator中更新项目构建环境的路径.

较新的版本(> 3.3 AFAIR,特定版本为3.4)允许在每个工具包中设置环境覆盖,以便您可以使用这些版本的所有项目.

点赞