如何用cmake只编译c?

Ary*_*yan 2 c cmake

我有ac代码,我坚持用gcc编译它而不是任何c ++编译器!我想要一个CMakeLists.txt!你可以帮帮我吗?这是我的简单项目:

main.c
Run Code Online (Sandbox Code Playgroud)

Sir*_*ius 14

这是cmake的基础知识:

cmake_minimum_required(VERSION 2.6.0)

# here we specify that the project is C language only, so the default
# C compiler on the system will be used
project(myprogram C)

add_executable(myprogram main.c)
Run Code Online (Sandbox Code Playgroud)

这就是将C文件编译成可执行文件所需要的全部内容.

将项目指定为C语言项目应该足以满足您的需求.

如果这还不够,可以在调用cmake时强制命令行上的编译器.

mkdir build && cd build
export CC=gcc    
cmake ..
make
Run Code Online (Sandbox Code Playgroud)

要么

mkdir build && cd build
cmake .. -DCMAKE_C_COMPILER=gcc
make
Run Code Online (Sandbox Code Playgroud)

还请注意,正如评论中所提到的,即使在项目中混合语言时,CMake也足够聪明,可以在遇到扩展名为.c的文件时正确调用C编译器.