windows下使用cmake+mingw配置makefile(一)

1.下載Cmake,並配置環境變量
下載鏈接:https://cmake.org/download/

環境變量略

2. 生成Makefile
1)新建 hello 文件夾,在hello中創建hello.c測試程序
mkdir hello
cd C:\Users\Administrator\Desktop\hello
2)在hello中編寫hello.cpp如下:
#include <iostream>
using namespace std;

int main(){
	cout << "hello word cmake!!!" <<  endl;
    
	return 0;
}
3)在hello文件夾中創建CMakeLists.txt,編輯如下:
<pre name="code" class="cpp"><pre name="code" class="cpp">set(CMAKE_C_COMPILER "gcc")#設置C編譯器
set(CMAKE_C_FLAGS "-g -Wall  -I C:\\mingw-4.81\\mingw\\include -L C:\\mingw-4.81\\mingw\\lib")#

set(CMAKE_CXX_COMPILER "g++")#設置C++編譯器
set(CMAKE_CXX_FLAGS "-g -Wall  -I C:\\mingw-4.81\\mingw\\include -L C:\\mingw-4.81\\mingw\\lib")

PROJECT (HELLO CXX)
SET(SRC_LIST hello.cpp)
ADD_EXECUTABLE(hello ${SRC_LIST})

MESSAGE(STATUS "This is BINARY dir " ${HELLO_BINARY_DIR})
MESSAGE(STATUS "This is SOURCE dir " ${HELLO_SOURCE_DIR})


上述指令的解釋如下:
PROJECT:指定工程名字爲hello,編程語言爲c++,這個指令也隱式的定義了兩個cmake變量:<projectname>_BINARY_DIR
以及<projectname>_BINARY_DIR,這裏就是HELLO_BINARY_DIR和HELLO_SOURCE_DIR,兩個變量指的都是當前工程的路徑

Set:是用來顯式的定義變量的,我們之前用到的是SET(SRC_LIST main.cpp)如果有多個源文件,也可以定義成SET
(SRC_LIST hello.cpp test1.cpp test2.cpp)定義了這個工程會生成一個文件名爲hello的可執行文件,相關的源文件是
SRC_LIST中定義的源文件列表

MESSAGE
:這個指令用於向終端輸出用戶信息,即上面生成的HELLO_BINARY_DIRHELLO_SOURCE_DIR

4)生成Makefile

cmd
cd C:\Users\Administrator\Desktop\hello
cmake -G   "MinGW Makefiles" . # .爲當前目錄, "MinGW Makefiles"爲makefile類型,如果編譯器爲vs的話使用"NMake Makefiles"


5)執行編譯、運行

make


helllo.exe



從上述的cmake的流程中我們可以看到,cmake的使用核心就是使用CMakeLists.txt配置Makefile,而CMakeLists.txt則有一套自己的語法,這個語法

需要在項目的配置中不斷摸索學習。


參考文獻:http://www.cppblog.com/Roger/archive/2011/11/17/160368.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章