2013-08-07 41 views
2

我有一個c代碼,我堅持用gcc編譯它,而不是任何C++編譯器! 我想要一個CMakeLists.txt! 你能幫我嗎? 這裏是我的簡單的項目:如何只用cmake編譯c?

main.c 

回答

7

這是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) 

這的確是所有你需要編譯C文件轉換成可執行。

將您的項目指定爲C語言項目應該足以滿足您的需求。

如果這還不夠,可以在調用cmake時在命令行上強制編譯器。

mkdir build && cd build 
export CC=gcc  
cmake .. 
make 

mkdir build && cd build 
cmake .. -DCMAKE_C_COMPILER=gcc 
make 

也請注意,由於在評論中提到的,即使是在一個項目混合語言時,CMake的是足夠聰明遇到同一個文件時正確地調用C編譯器.c擴展名。

+0

你在這個cmake中使用c編譯器的地方? – Aryan

+1

'項目'指令 – SirDarius

+0

哦,我明白了!謝謝 – Aryan