1

尝试在一个简单的 C 程序中打开通往 Gnuplot 的管道,使用

FILE *pipe=popen("gnuplot - persist", "w");

收到上述错误。我已经使用 Macports 安装了 Gnuplot,并且 gnuplot 命令可以使用 bash 终端直接运行,但我无法通过上面的代码 (sh) 访问它。

我尝试添加带有 environment.plist 文件的 .MacOSX(我在网上找到的一个建议),但我似乎无法得到任何工作(在代码中使用 Gnuplot 的显式位置似乎对我也不起作用)。抱歉,如果这是一个明显的问题,我对编程很陌生,我只想绘制一些图表!谢谢

4

2 回答 2

2

如果您使用 MacPorts 安装,则 gnuplot 可能位于 /opt/local/bin/gnuplot 中。但是您可以在终端中使用“which gnuplot”进行检查。尝试

gnuplot = popen("/opt/local/bin/gnuplot --persist", "w");
if (gnuplot != NULL)
  fprintf(gnuplot, "plot sin(1/x)\n");

例如。在“persist”之前,您的命令字符串中有一个奇怪的空格。

于 2012-10-15T21:11:49.087 回答
1

你如何开始你的程序?你改变PATH变量吗?popen做之前

printf("PATH=%s\n", getenv("PATH"));

这是什么结果?

于 2012-10-11T23:36:08.070 回答