Cmake編譯helloworld

CMakeLists.txt:

cmake_minimum_required (VERSION 2.6)#限定了cmake的版本
project (leptjson_test C)#項目的名稱是leptjson_test C(工程名字)

if (CMAKE_C_COMPILER_ID MATCHES "GNU|Clang")
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ansi -pedantic -Wall")#set用來設置變量
endif()

add_library(leptjson leptjson.c)#生成一個庫文件名稱爲leptjson
add_executable(leptjson_test test.c)#指示test.c需要編譯成一個名稱爲leptjson_test的可執行文件
target_link_libraries(leptjson_test leptjson)#將給定的庫鏈接到一個目標上

例子:HelloWorld

首先創建一個HELLO文件夾,裏面創建一個main.c文件,內容如下:

include  stdio.h
int main()
{
 printf("Hello World!\n");
 return 0;
}

再創建一個CMakeLists.txt

PROJECT (HELLO)
SET(SRC_LIST main.c)
ADD_EXECUTABLE(hello ${SRC_LIST})

第一行:設置項目名稱;
第二行:將SRC_LIST值設置爲main.c
第三行:生成可執行文件 hello。 ${} 是引用某個值。
Terminal中cd進入到HELLO目錄,創建一個build目錄用於外部構建(編譯所產生的文件都生成在build目錄),cd 到build目錄,然後依次執行下面三條命令:

cmake ..
make
./hello
發佈了95 篇原創文章 · 獲贊 13 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章