sh:gnuplot:在 Gnuplot + Xcode 中找不到命令

Posted

技术标签:

【中文标题】sh:gnuplot:在 Gnuplot + Xcode 中找不到命令【英文标题】:sh: gnuplot: command not found in Gnuplot + Xcode 【发布时间】:2014-04-02 15:04:14 【问题描述】:

我有一个类似的问题,但答案并不是完全解决方案,所以如果我能得到一些帮助,将不胜感激。

问题是我编译的时候Xcode报上面的错误sh: gnuplot: command not found.

我在终端中检查了which gnuplot,正如 macports 所预期的那样,它位于/opt/local/bin/gnuplotprintf("PATH=%s\n", getenv("PATH")); 还显示了路径 PATH=/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin 我怀疑其中存在问题,但我不知道如何解决它。

提前致谢!

【问题讨论】:

【参考方案1】:

将脚本中出现的gnuplot 替换为/opt/local/bin/gnuplot 以排除$PATH

【讨论】:

【参考方案2】:

阻止Xcode运行的关键问题确实与gnuplotPATH有关。根据你在mac中使用的包管理系统,gnuplot的目录会有所不同。

在终端输入which gnuplot 将显示gnuplot 的确切位置。

macport的情况下,gnuplot位于/opt/local/bin,Xcode的默认路径设置中不包含。

要查看您的PATH,请输入

std::cout << "PATH=" << getenv("PATH") << std::endl; // #include<iostream>

printf( "PATH=%s\n", getenv("PATH") ); // #include<cstdio>

可以向您显示类似的路径

/usr/bin:/bin:/usr/sbin:/sbin:/usr/bin


这是我的解决方案。

    最简单的方法是使用软链接将gnuplot的真实目录(/opt/local/bin)与可接受的方向结合起来,例如Xcode中getenv("PATH")显示的(/usr/bin),像 ln -s /opt/local/bin/gnuplot /usr/bin/gnuplot

    如果你的.bash_profile设置抵抗了前面的方法,那么更安全更稳定的方法是直接在Xcode项目中添加外部路径, 这是来自here 的原创。简而言之,在Product&gt;Scheme&gt;Edit Scheme...中添加PATH,如下所示,然后关闭此窗口。

尝试使用此代码在 Xcode 中生成您的第一个 gnuplot

#include <iostream>

#include "gnuplot-iostream.h"

int main( ) 
    Gnuplot gp;
    gp << "plot [-10:10] sin(x),atan(x),cos(atan(x))\n";
    return 0;

【讨论】:

以上是关于sh:gnuplot:在 Gnuplot + Xcode 中找不到命令的主要内容,如果未能解决你的问题,请参考以下文章

有gnuplot配置文件吗?

Gnuplot

Gnuplot:不完整的β函数。

如何用 Torch gnuplot 绘制两条线?

在 Octave 中为 Gnuplot 启用“线条样式”功能?

使用 Gnuplot 进行时间序列的线性回归