5

M-x compileEmacs 内で使用して C コードをコンパイルmake -kすると、コードが開始されてコンパイルできるようになります。デフォルトのコンパイラとして Clang (またはおそらく GCC 4.8 をインストールした後) を使用したいと考えています。私はccエイリアスを作成しましたが、これはEmacsの外部のコマンドラインからclang -Wall -Werror -std=c99 -ggdb -O0呼び出しますが、Emacs内からの呼び出しは、インストールしたGCCバージョン4.7にエイリアスしているようです。Clang (および GCC 4.8) によって提供される、より豊富でわかりやすいエラー メッセージと警告メッセージを活用したいと考えていますが、現在、K&R を含む K&R を使用しているため、書いている短い学生レベルのプログラムごとに個別の makefile を作成したくありません。演習を解く。ClangM-x compilecc

古いバージョンの GCC の代わりに Clang (または GCC 4.8) を呼び出す必要があることM-x compileをEmacs に納得させるにはどうすればよいですか?make -k

4

4 に答える 4

2

makefile を作成し、コンパイル行で明示的に clang を使用できます。

次のようなものが機能します。

CC=クラン
CFLAGS= -Wall -Werror -std=c99 -ggdb -O0

%: %.c
	$(CC) $(CFLAGS) $^ -o $@

実際に機能させるには、最後の行をタブで始める必要があることに注意してください。

于 2013-04-02T23:44:44.723 に答える
1

メイクファイルで を使用してコードをコンパイルすると仮定すると$(CC)、次のいずれかを実行できます。

  • その場合M-x compile、コンパイル コマンドを に変更できますCC=clang make -k

  • .emacsファイルに次の行を追加します。

    (setq compile-command "CC=clang make -k")

于 2013-04-03T18:36:19.643 に答える