强制 CMake 在 Visual Studio 中使用 C 文件的C++编译器

Force CMake to use C++ compiler for C files with Visual Studio

本文关键字:文件 C++ 编译器 CMake Visual Studio 强制      更新时间:2023-10-16

我已经生成了.h和.c文件,这些文件必须用Visual Studio编译为C++文件。我听说我可以做像set_source_files_properties( ${SOURCES} PROPERTIES LANGUAGE "CXX" )这样的事情。同时,我读到我不应该这样做,因为它应该只在异国情调的情况下使用。

那么,强制CMake生成将C文件编译为C++文件的VS项目的最佳方法是什么?

PS:重命名生成的文件不是一种选择。

我一直在使用各个属性(很可能您也可以设置目录属性 - 但这不是那么细粒度)没有任何问题。虽然不是为了设置语言(但为什么它应该有所不同?

SET_SOURCE_FILES_PROPERTIES( file1.c PROPERTIES LANGUAGE CXX )

这在Linux和Windows下工作,似乎不会造成任何问题。你听到了什么让你犹豫的事情?