2016-03-24 3 views
1

Mingw(gcc)で新しいC-Win32プロジェクトを作成すると、間違って他のCファイルにソースファイルとしてcppファイルを追加しました。Mingwは自分のcコードをC++としてコンパイルします。それをどうやって防ぐのですか?

今、Mingwは私のcコードをC++としてコンパイルします。私は、__cplusplusがtrueを返すことをテストして判明しました。

私は私のコードブロックIDE内のすべてのプロジェクト設定を見て、C.

がどのように私はCソースとしてそれをコンパイルし、__cplusplusをオフにするコードブロック/ MinGWを/ GCCを教えてくださいとしてコンパイル他のプロジェクトにを比較しました?

+0

Codeblockaフォーラムのヒントを得ました。 一部のCソースファイル名が*大文字であるか、大文字が含まれています。 GCCはそれがC++ファイルでなければならないと考えているようです(!)名前を小文字に戻すことで問題は解決しました。 これはちょっと微妙なものです。 – user1231247

答えて

0

最初にファイルの拡張子を.cppから.cに変更します。これを行うには:

  • 閉じるfile.cppをコード::ブロックエディタで、それが開いている場合。 >ソース ツリービュー -

  • は右プロジェクト名file.cppをクリックしてください。メニューから

  • 名前の変更ファイルを選択...し、Cコンパイラでコンパイル ファイルをしたいコード::ブロックするのに十分なヒントであるべきfile.c

それに名前を付け、 C++コンパイラではなく、ですが、ではありません。 file.cppをプロジェクトに追加すると、C :: Bは をC++コンパイラでコンパイルするために登録し、ファイル の名前をfile.cに変更してもそれに固執します。プロジェクトツリービュー で、それを右クリックして、もう一度、file.cにファイルの名前を変更した後

  • と、この時間はプロパティ]を選択します:それはあなたもこれを行う必要があり、その心を変えるようにするに

    プロパティダイアログで...

  • 高度]タブをクリックします。

  • 変更CCからCPPからコンパイラ変数の値が、その後、アウトOK。

このファイルはCコンパイラでコンパイルされます。

+0

私はそれを試みた。何らかの理由で、__cplusplusは、私のコードがCであり、 "CC"をチェックしているにもかかわらず、常に199901Lに定義されています。 – user1231247

+0

@ user1231247申し訳ありませんが、それ以上のアイデアはありません。これは私のために働く。 –

関連する問題