私はg ++を使って.cで終わるファイルでCコードをコンパイルするプロジェクトに取り組んできました。その理由は、g ++にはより良い警告メッセージがあると言われています。CMakeはg ++を使ってCファイルをコンパイルできますか?
私はCMakeを使用するようにこのプロジェクトのビルドプロセスを切り替えています。私は最初にCMakeがgccを使ってCファイルをコンパイルしようとしていたことがわかりました。これは、使用時に変数を宣言するなどの理由で失敗しました。だから私はCMakeLists.txtファイルに設定
set(CMAKE_C_COMPILER_INIT g++)
を使用してCファイルをコンパイルするために、G ++を使用してみました。しかし、これは、エラーメッセージで結果:
#error "The CMAKE_C_COMPILER is set to a C++ compiler"
私はそれが私は物事を動作させるために最も簡単な方法のようだとして、この問題を解決するための.cppために私の.cファイルの名前を変更し、おそらく最良の方法はされていますあまりにも。しかし、CMakeにg ++を使ってCファイルをコンパイルさせることが可能かどうか疑問に思っていました。
は「理由は、私がG ++は、より良い警告メッセージを持っていることを聞いているということです。」 - それを確認できますか?私はそれが非常に疑わしいと言うでしょう。(私が知る限り)どちらも、異なる引数(言語、インクルードパス、標準ライブラリがリンクされているなど)を持つ同じコンパイラを呼び出すドライバですから、g ++はCのコンパイラので、非常に貧弱なC + +を書くことになります。 – delnan
Cを書く場合は、Cコンパイラでコンパイルしてください。 CとC++は同じものではありません。 – Kusalananda
あなたは '_使用時に変数を宣言するなどの理由で失敗しました'と言っています。 C99モードではなく、C89モードでGCCを使用しているようです。 '-std = c99'をCコンパイラに追加してみてください。何とかしてください。 –