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

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

1.下載Cmake,並配置環境變量

下載鏈接:https://cmake.org/download/

環境變量略


2. 生成Makefile

1)新建 hello 文件夾,在hello中創建hello.c測試程序
  1. mkdir hello
  2. cd C:\Users\Administrator\Desktop\hello
2)在hello中編寫hello.cpp如下:
  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4. cout << “hello word cmake!!!” << endl;
  5. return 0;
  6. }
3)在hello文件夾中創建CMakeLists.txt,編輯如下:
  1. <pre name=“code” class=“cpp”><pre name=“code” class=“cpp”>set(CMAKE_C_COMPILER “gcc”)#設置C編譯器
  2. set(CMAKE_C_FLAGS “-g -Wall -I C:\mingw-4.81\mingw\include -L C:\mingw-4.81\mingw\lib”)#
  3. set(CMAKE_CXX_COMPILER “g++”)#設置C++編譯器
  4. set(CMAKE_CXX_FLAGS “-g -Wall -I C:\mingw-4.81\mingw\include -L C:\mingw-4.81\mingw\lib”)
  5. PROJECT (HELLO CXX)
  6. SET(SRC_LIST hello.cpp)
  7. ADD_EXECUTABLE(hello ${SRC_LIST})
  8. MESSAGE(STATUS "This is BINARY dir " ${HELLO_BINARY_DIR})
  9. 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

  1. cmd
  2. cd C:\Users\Administrator\Desktop\hello
  3. 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

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