我曾在一个项目中使用 g++ 编译以 .c 结尾的文件中的 C 代码。原因是我被告知 g++ 有更好的警告信息。
我正在将此项目的构建过程切换为使用 CMake。我发现最初 CMake 想使用 gcc 来编译 C 文件。由于在使用时声明变量之类的事情,这失败了。所以我尝试使用 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 文件。
最佳答案
您不应为此目的覆盖编译器。如果你真的需要将你的 C 文件编译为 C++,那么你应该教 cmake 你的文件属于 C++ 语言:
set_source_files_properties(filename.c PROPERTIES LANGUAGE CXX )
关于gcc - CMake 可以使用 g++ 来编译 C 文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7690800/