CMake は g++ を使用して C ファイルをコンパイルできますか? 質問する

CMake は g++ を使用して C ファイルをコンパイルできますか? 質問する

私は、.c で終わるファイル内の C コードを g++ を使用してコンパイルするプロジェクトに取り組んでいました。その理由は、g++ の方が警告メッセージが優れていると聞いたからです。

このプロジェクトのビルドプロセスをCMakeを使用するように切り替えています。CMakeは当初、Cファイルをコンパイルするためにgccを使用するよう要求していました。これは、使用時に変数を宣言するなどの理由で失敗しました。そこで、設定を使用してg++を使用してCファイルをコンパイルしようとしました。

set(CMAKE_C_COMPILER_INIT g++)

CMakeLists.txt ファイル内。しかし、次のエラー メッセージが表示されます。

#error "The CMAKE_C_COMPILER is set to a C++ compiler"

この問題を解決するために、.c ファイルの名前を .cpp に変更してきました。これが私にとって最も簡単な方法であり、おそらく最善の方法でもあるように思われます。しかし、CMake に強制的に g++ を使用して C ファイルをコンパイルさせることが可能かどうか疑問に思っています。

ベストアンサー1

この目的のためにコンパイラをオーバーライドしないでください。C ファイルを C++ としてコンパイルする必要がある場合は、ファイルが C++ 言語に属していることを cmake に教える必要があります。

set_source_files_properties(filename.c PROPERTIES LANGUAGE CXX )

おすすめ記事