こんにちは。
Emacsは、Gnu Emacs for Windows 23.4 を使っています。
gccのインクルードパスの問題により、Emcasのcompileコマンドで、Cのソースファイルをコンパイルするができなくて困っています。
具体的には、CのソースファイルをEmacsで開き、「M-x compile」と入力した後、ミニバッファで「gcc -c test.c」と入力すると、以下のようなコンパイルエラーが表示されます。
------------------------------------------------------------
gcc -c test.c
test.c:1:19: no include path in which to search for stdio.h
Compilation exited abnormally with code 1 at Sun Jul 08 18:24:05
------------------------------------------------------------
どうやら、インクルードパスが設定されていないようです。
ちなみに、test.cは以下のような非常に単純なCプログラムです。
------------------------------------------------------------
include <stdio.h>
int main(void) {
printf("Hello!\n");
return 0;
}
------------------------------------------------------------
コマンドプロンプトや、ktermといった端末から、同じように
gcc -c test.c
というコマンドを実行すると、エラーが出る事はなく上手くコンパイルできますので、
適切なインクルードパスが設定されているはずです。
どうすれば、Emacsのcompileコマンドから、gccでコンパイルを行う時に使われる、インクルードパスを設定する事ができるのでしょうか?
(gccの-Iオプションで、毎回インクルードパスを設定する必要をなくす方法が知りたいです。)
では、よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
そのgccは、なんのgccでしょうか? MinGW?Cygwin?
Windowsネイティブなktermは無いように思うのですが。
・コマンドプロンプト/ktermで呼び出しているgccと、Emacsからcompileで呼び出しているgccが同一のものか確認する。
・コマンドプロンプト/ktermでの環境変数と、Emacs使用時の環境変数を調べる。
Emacsのは 変数process-environment を調べればわかるのでC-h v process-environment とかで確認
・gcc実行の様子を詳細に確認する
http://oshiete.goo.ne.jp/qa/4149026.html あたりを参考に
以上のような確認をして、原因を絞りましょう。
環境変数が違うのなら、emacs起動用のバッチファイルを書き換えて、追加/削除するようにしましょう。
御回答ありがとうございます。
使用しているgccはMingwのものでした。
環境変数の設定で、
LIBRARY_PATH
C_INCLUDE_PATH
を設定すれば、上手くコンパイルできました。
ありがごうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
C言語でヘッダファイルにグロー...
-
「fatal error C1189」を回避す...
-
Makefile作成時の拡張子.oとは?
-
エクセルVBAではRound...
-
定数式とはどういう意味でしょ...
-
外部シンボル "_main"は未解決です
-
VB6とInputManソフトの関係
-
” OS ビルド ” の意味が分か...
-
RPGでプログラムからソースファ...
-
相互に参照する構造体について
-
クリティカルエラー Expressio...
-
pyc 編集 閲覧
-
VS2010でLibHaruをビルドした...
-
PRO*C コンパイルエラー
-
1 つ以上の複数回定義されてい...
-
構造体をファイルに出力できません
-
[c++] <pthread.h>がinclude で...
-
コンパイル??
-
Borland C Builder とOpenCVを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAを何回も作り直して、容量が...
-
エクセルVBAではRound...
-
「fatal error C1189」を回避す...
-
Makefile作成時の拡張子.oとは?
-
ILSpyで、デコンパイルできない。
-
1 つ以上の複数回定義されてい...
-
外部シンボル "_main"は未解決です
-
セミコロンについて
-
C言語でヘッダファイルにグロー...
-
” OS ビルド ” の意味が分か...
-
マクロ コンパイルがグレーバック
-
【VC++6.0(MFC)】警告「LINK : ...
-
クリティカルエラー Expressio...
-
PRO*C コンパイルエラー
-
[c++] <pthread.h>がinclude で...
-
<math.h>があるのにsqrtが・...
-
ビルドとリビルドの違いを教え...
-
CImageクラスの使用について
-
戻り値について
-
コンパイルエラー:ユーザ定義...
おすすめ情報