0

私はEclipseにインポートして作業するCプロジェクトを持っています。事前に作成されていましたが、C プログラムではなかったので、C Makefile プログラムとしてインポートしました。実際には、何らかの理由でプログラムが適切なディレクトリで make を呼び出すシェル スクリプトで記述されていたので、シェル スクリプトを呼び出す Makefile を追加しましたが、おそらく make ファイルのみを使用するように変更します。

とにかく珍しいことは#define、C コードで使用されているすべての変数で例外が発生することです。変数は、C コードの先頭に含まれる .h ファイルで定義され、#include警告は表示されません。コードをコンパイルして、例外なく実行できます。それでも#define、エディターで値が使用されている場所で、まだ数十のエラーが発生します。変数を定義する .h は、例外をスローする C コードとは別のフォルダーにありますが、.h を含むフォルダーを C インクルード パスに追加しても、何の効果もありませんでした。#defineエディターで変数をうまく操作する方法を知っている人はいますか?

4

3 に答える 3

3

あなたは実際に入力しています#DEFINEか?はず#defineです。C は大文字と小文字を区別します。

于 2012-06-06T16:57:31.083 に答える
0

.h ファイルは .c ファイルにどのように含まれていますか?

#include <file.h>

また

#include "file.h"

これらは、プリプロセッサでは異なる意味を持ちます。

あなたが得ているエラーは何ですか?.h ファイルが見つからないため、他のエラーが発生していますか?

于 2012-06-06T17:28:23.703 に答える
0

問題をさらに調査するためのいくつかのオプションを次に示します。

  1. Eclipse でプロジェクトを右クリックし、Properties-> C/C++ General-> Paths and Symbols->に移動しSymbolsます。そこで定義されているシンボルを確認できます。おそらく、何かがプリプロセッサを台無しにしている可能性があります。
  2. g++ コマンド ラインに次のオプションを追加します-save-temps。これにより、いくつかの中間コンパイル ファイルが出力されます。.iまたは.iiファイルを確認してください。これらには、前処理された出力が含まれています。この g++ オプションの詳細については、こちらを参照してください。

また、実際のエラー/警告についてさらに情報を提供していただければ幸いです。

于 2012-06-07T11:55:54.647 に答える