C++ (emacs24 + ビルトイン CEDET) 用の EDE プロジェクトをセットアップしようとしていますが、makefile を生成する方法が見つからないようで、必死になり始めています。私はEmacsに比較的慣れていません。私がやっていることを説明しようとします:
私はおもちゃのプロジェクトを次のように設定しています:
main.cpp
other/
Utils.cpp
Utils.h
CGrabBuffer.cpp
CGrabBuffer.h
main.cpp には、「other/」ディレクトリ内に両方の .h が含まれています。これらは、この単純なディレクトリ設定で EDE プロジェクトを設定するために従う手順です。
- emacs で main.cpp を開いて実行し
M-x ede-new
ます。タイプ:Make
; 名前:main-proj
。 - 「他の」ディレクトリにあるファイルの 1 つを開き、次の操作を行います
M-x ede-new
。タイプ:Make
; 名前:aux-proj
。 - 次に、ターゲットを作成します (この場合は 3 つだと思います)。
- main.cpp バッファー:
M-x ede-new-target
; 名前:main
; タイプ:program
。プロンプトが表示されたら、main.cpp をこのターゲットに追加します。 - 他の 2 つのターゲット (Utils.cpp と Utils.h を持つ Utils、および CGrabBuffer.cpp と CGrabBuffer.h を持つ CGrabBuffer) についても同じことを繰り返します。ここで、最初の問題を見つけます。これらの 2 つのターゲットはどのタイプである必要がありますか? 私は彼らに .o ファイルを生成させたいだけです。
- main.cpp バッファー:
- これが完了したら、
M-x ede-customize-current-target
3 つのターゲットすべてに入力し、いくつかのインクルード パスやライブラリなどを追加します。 - この後、呼び出し
M-x ede-compile-project
てもコンパイルされません。理由は次のとおりです。- 最初に main.cpp をコンパイルしようとします。main.cpp をビルドする前に Utils.o と CGrabBuffer.o の両方が必要であることを (EDE を使用して) 指定する方法がわかりません。
- 手動で順序を変更すると (Makefile を編集して)、Utils.o と CGrabBuffer.o が見つからないため、main.cpp をリンクできません。
ご覧のとおり、私は大混乱の真っ只中にいます。EDE での「ターゲット」の意味さえ理解していないのかもしれません。.emacs ファイル内で指定する必要がある ede-cpp-root-project の存在についても読みました。私はそれを試していない. Makefile は生成されませんね。Project.el で構築された EDE プロジェクトと、セマンティクスに ede-cpp-root-project を使用した同じものを使用できますか (または必要ですか)? それとも冗長ですか?
私が多くのことを誤解していたら申し訳ありませんが、私は非常に混乱しており、emacs に慣れていないため、事態はさらに悪化しています。お待ち頂きまして、ありがとうございます!
編集:いくつかのいじくり回しと私が受け取った応答で、私は多くのものを理解することができたので、どうもありがとう. 私がまだ理解していないのは、.emacs ファイル内で指定する必要がある ede-cpp-root-project の使用です。それはC ++セマンティクスのためだけですか? Project.el と .emacs の elisp 行を含むプロジェクトを持つことは冗長ですか?