質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

gnuplot

gnuplot(ニュープロット)は、2次元や3次元のグラフ作成ができるソフトウェアです。さまざまな数式やデータ集計などのグラフを描写することが可能で、特に2次元グラフを描画する機能は強力です。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Q&A

解決済

1回答

151閲覧

Xcodeでc言語を用いてgnuplotを使いたいがエラーを解決できない

VanS

総合スコア7

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

gnuplot

gnuplot(ニュープロット)は、2次元や3次元のグラフ作成ができるソフトウェアです。さまざまな数式やデータ集計などのグラフを描写することが可能で、特に2次元グラフを描画する機能は強力です。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

0グッド

0クリップ

投稿2024/04/24 04:06

編集2024/04/24 05:14

実現したいこと

Xcode上でC言語を用いてgnuplotを呼び出してグラフを描写したいです。

発生している問題・分からないこと

以下の簡易的なコードでテストしたところ、以下のエラーが表示されました。

エラーメッセージ

error

1cannot specify -o when generating multiple output files

該当のソースコード

C言語

1#include <stdio.h> 2#include <math.h> 3 4int main() { 5 FILE *gnuplotPipe = popen("gnuplot -persist", "w"); 6 if (!gnuplotPipe) { 7 printf("Error opening pipe to GNU plot.\n"); 8 return -1; 9 } 10 11 fprintf(gnuplotPipe, "set terminal aqua\n"); // グラフィックウィンドウを開く 12 fprintf(gnuplotPipe, "plot sin(x)\n"); // sin関数のグラフをプロット 13 fprintf(gnuplotPipe, "exit\n"); 14 pclose(gnuplotPipe); 15 16 return 0; 17} 18

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他

追加①

このエラーが出る前に行ったことです。
同様にXcodeからgnuplotを呼び出したところ
sh: gnuplot: command not foundというエラーが出たため
以下のようにpathを通しました。

"Build Settings > All > Other C Flags において、
gnuplotの実行ファイルが含まれるディレクトリの次のパスを追加しました。/usr/local/bin/

上記の詳細・結果

元々は複数の配列を別々のグラフに描写しようとしていたため、そこに問題があると考え、上記のような簡易的なコードでテストました。しかし同様のエラーが出てしまいました。

追加①について
どうやらこのpathの通し方が間違っているかもしれません

補足

gnuplotのバージョンはgnuplot 5.4 patchlevel 6
Xcodeのバージョンは15.2

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

int32_t

2024/04/24 04:17

質問文のCコードをどうやってビルドしていますか。
VanS

2024/04/24 04:24

Xcodeにコードを書き▶️からビルドしています。的外れな回答であればすみません。。
melian

2024/04/24 05:52

> 以下のようにpathを通しました。 > "Build Settings > All > Other C Flags において、 > gnuplotの実行ファイルが含まれるディレクトリの次のパスを追加しました。/usr/local/bin/ Cコンパイラのフラグに/usr/local/binを追加してもパスを通すことにはなりません。(質問にある通りエラーになってしまいます) パスを通す場合は環境変数 PATH に /usr/local/bin を追加して export する必要がありますが、Xcode に環境変数を設定する項目があるのかもしれません。
VanS

2024/04/24 06:21

ご丁寧な回答ありがとうございます。 pathすら曖昧な認識だったので非常に勉強になりました。
guest

回答1

0

ベストアンサー

Gnuplotをフルパスで指定したら動きますか?
私の環境ではhomebrewのgnuplotをインストールしています。
イメージ説明

投稿2024/04/24 05:42

technocore

総合スコア7245

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

VanS

2024/04/24 06:22

フルパスで指定することで無事gnuplotを呼び出すことができました。 ご丁寧な回答ありがとうございました。 非常に勉強になります。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問