2012-10-11 21 views
1

没有发现试图打开一个管以简单的C程序GNUPLOT,与SH:gnuplot的:命令在Xcode

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

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

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

回答

1

你如何开始你的程序?你是否更改PATH变量? popen

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

这是什么结果?

2

如果使用MacPorts安装,则gnuplot可能位于/ opt/local/bin/gnuplot中。但是你可以在Terminal里查询“哪个gnuplot”。尝试

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

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

+0

对我来说'whereis gnuplot'没有找到gnuplot(不知道为什么),但'哪个gnuplot'工作得很好。 – mgilson

+0

我认为“哪个”更合适,所以我编辑了我的答案。 “which”返回命令运行的文件; “whereis”可能找不到硬编码路径列表中的文件。 –

+0

工程像魅力,谢谢! –