【发布时间】:2017-01-09 03:26:00
【问题描述】:
我有一个用 Xcode 7 编写的 c 代码,并在运行 El Capitain (OSX 10.11.6) 的 Mac 笔记本电脑上运行。该程序使用以下代码行调用另一个程序“bertini”:
eflag = execvp("bertini", "input");
或者
system("bertini input");
在我升级操作系统之前,这两个都运行良好(我运行的是 Xcode 3 或 4,我不记得了。)现在程序不再运行,因为它找不到程序 bertini。
我发现问题在于 bertini 不在搜索路径上,因为在 El Capitain 中,不允许我将可执行文件复制到 /usr/bin/。因此,请按照此页面上的说明进行操作: http://forums.appleinsider.com/discussion/189702/cant-copy-file-to-usr-bin-even-when-logged-in-as-root,
我将 bertini 可执行文件移动到我选择的文件夹中,并将 ~/.bash_profile 更改为指向该文件夹。现在 bertini 在终端中运行得很好,但在我的程序调用它时就不行了。
在 Xcode 中运行时,我到底如何才能找到程序找到 bertini 的当前位置?我尝试输入完整目录(/path/to/directory/ contains/bertini/bertini),但这仍然不起作用。我也尝试过遵循以前版本的 Xcode 的说明(例如,在这个问题 where is $PATH set in xcode? 中),但似乎 Xcode 的版本非常不同,我不明白如何调整这些说明。此外,关于设置~/.MacOSX/environment.plist 的响应中的链接已损坏,我对更改以“。”开头的文件感到紧张。不知道自己在做什么(我对此了解不多)。
请注意,这是为了学术研究,而不是一般用途,所以如果我可以让它只在我的机器上工作(嗯,两台机器),那很好。
【问题讨论】:
标签: xcode macos path xcode7 osx-elcapitan