
C言語を用いてgnuplotで図を描写したいです。しかし、「gnuplotは、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」と表示されてしまいます。
http://www.eng.kagawa-u.ac.jp/~haruna/memo/gnupl … を参考にして作成したのですが、上手くいきません。なにかアドバイスいただけたら幸いです。

No.2ベストアンサー
- 回答日時:
ええと、貴方のコードを元にして手元のLinuxで動かしてみましたが、問題なく動作しています。
#include <stdio.h>
int main(void){
FILE *gp;
gp = popen("gnuplot -persist", "w");
fprintf(gp, "plot sin(x)\n");
fflush(gp); /* ここは必須では? */
fprintf(gp, "exit\n"); /* gnuplotを終了させる為にここは必須では? */
pclose(gp);
return 0;
}
と言う事は一番考えられる事は、gnuplotにパスが通ってないんでしょうねぇ(Linuxの場合、gnuplot等のソフトウェアをインストールすれば自動的にパスが通った事になるが、Windowsだとそうではない辺りがややこしい)。
と言うわけで、ちょっと次の事を確認して下さい。
1. コマンドプロンプト(DOS窓)を開く。
2. コマンドプロンプトで
gnuplot -persist
(つまり、貴方が書いたCのプログラムからpopen経由でDOS窓へ通知した"命令")と打ってみて、gnuplotが起動するかどうか調べてみる。
多分十中八九、起動しないで"gnuplotは、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。"と表示されるんじゃないか、って推測します。
もしそうならば、
1. インストールされたgnuplotが「どこにあるか」パスを調べてみる。
昔のWindowsだとC:\Program FIles\の下とか、C:\Program Files (x86)\の下であるとか、にインストールされてたものですが、最近だと(Windows 10以降?)「管理者権限」を嫌って例えばC:\Users\ユーザー名\Applications(だったかな?Windows使ってないからうろ覚え)以下にインストールされる事が増えています(特にフリーソフトウェア等の類は)。
あるいは、「自分の好みの場所」にインストールする事もあるでしょう。貴方の提示したページ( http://www.eng.kagawa-u.ac.jp/~haruna/memo/gnupl … )のセンセだと直接Cドライブ直下にインストールしていますが、一方で、それが「全てのWindowsユーザーに当てはまる」とは限らないのです(むしろ「違う」って思ってた方が良い)。
いずれにせよ、インストールされた、具体的にはgnuplot.exeが一体どこにあるのか、調べないといけないですね・・・。DOSコマンドは良く分からないんだけど、コマンドプロンプトでwhere gnuplot.exeと打てば探してくれるのかしらん(Linuxだとwhereisとかwhich使えばアプリケーションの位置を知らせてくれるんですが、多分似たコマンドがDOSにもあるんじゃないかなぁ)。
2. gnuplot.exeの位置が分かったら解決策は3つあって、
a. 貴方の書いたコードの7行目、
gp = popen("gnuplot -persist", "w");
を、
gp = popen("C:\1. \で\調べた\パス名\gnuplot -persist", "w");
b. センセがやってたように
#define GNUPLOT_PATH "C:\1. \で\調べた\パス名\gnuplot.exe" // gnuplot.exeのある場所
とマクロ定義しておいて、7行目もセンセがやってたように
gp = _popen(GNUPLOT_PATH, "w")
で置き換えてしまう(言い方変えると、貴方の書いたコードは直接gnuplotをpopenで呼び出そうとしてたので、マクロ定義は意味が無かった)。
c. 怒髪天を突きながらいっそのことインストールしたgnuplotへとパスを通してしまう。
Windows10での任意のフォルダへのパスの通し方は次のページを参考にしてください。
Windows10で実行ファイルへのパスを通す手順:
https://qiita.com/shuhey/items/7ee0d25f14a997c9e …
まあちとメンド臭いんですが、「Windowsでプログラミングし続ける」のなら必須の技能ではあるかもしれません。そしてこの場合には(基本的には)貴方の書いたプログラムは修正の必要はございません(ちょっと危険ですけどね)。
a, b, c,の解決策のどれかがお役に立てればいいんですけどね。
No.3
- 回答日時:
gnuplotをインストールしていないのでは?
Linux環境では標準で入っているかもしれないけどWindows環境だとインストールしない限りは入ってない。gnuplotをインストールした上でパスを通すことが必要になる。
あとNo.2の人がいうwhereコマンドもWindows環境にはない。あってもパスが通ってないと見つけてくれないので無駄だけど。
実行ファイルの場所を探したければ自力で探す必要がある。アイコンやスタートメニューからの起動が可能なら、アイコンなら右クリックからプロパティを開いてリンク先を確認する。スタートメニューなら右クリックのその他からファイルの場所を開いてパスを確認する。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- Illustrator(イラストレーター) ワードに貼った画像のキャンバスと画像本体のサイズの調整 2 2022/05/19 18:31
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Excel(エクセル) エクセルまたはgnuplotグラフの書き方 2 2022/11/18 15:45
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- Windows Me・NT・2000 コマンドプロンプトのdisk partについて 2 2023/03/05 15:49
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- C言語・C++・C# 参考にいろいろとc言語、c++言語プログラミングでレジストリーを操作したいのですが、無料配布のc++ 3 2022/12/22 01:49
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Cygwinのインストールについて
-
VS、C#でフォームアプリケーシ...
-
Tomcatがサービスに残り再イン...
-
Windows10にデュアルブートでXP...
-
VBScriptで外部プログラム実行...
-
windowsへのswigのインストール
-
Shell関数で起動したメディアプ...
-
Rへの,コピペによる古いパッケ...
-
cygwinでstartxでXが立ち上がり...
-
コンパイルの仕方
-
Jupyter Notebookのアンインス...
-
VB6でWindowsサービスの開発
-
大量のフォルダからひとつのフ...
-
コマンドプロンプトのエラーに...
-
コマンドプロンプトの「%1」と...
-
VBAでワークシートを引数として...
-
win10の「フォト」で、「次へ」...
-
コマンドプロンプトで作成日時...
-
[teraterm] waitコマンドで停止...
-
EXCELをバッチコマンドで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Tomcatがサービスに残り再イン...
-
Microsoft MonthView Controlに...
-
Windows10にデュアルブートでXP...
-
cygwinインストールでgccが利用...
-
Powershell ISEの日本語化設定
-
VBScriptで外部プログラム実行...
-
Visual Basic 6.0 SP6 インス...
-
DLLで期限付きライセンス
-
DELL タブレット 「Venue 8 Pro...
-
Visual Studio2017Expressのイ...
-
Shell関数で起動したメディアプ...
-
VisualStudio インストール時の...
-
?などのアイコンを使いたい
-
visual atudio code でC言語を...
-
Python Qt 5.9.7 から Qt 5.12 ...
-
Linuxにgccをインストールした...
-
msiインストーラのパラメータ
-
R、パッケージのインストールに...
-
Command Not Found @ Cygwin
-
visual studio2015 (update3)で...
おすすめ情報