windows下使用cmake+mingw配置makefile(二)
06-16
原創 2016年11月10日 17:43:59
前面一節說了cmake簡易使用,但是實際開發中項目文件非常多,使用哪種簡易方式會導致代碼十分混亂,因此本文介紹一種cmake管理大型項目的demo流程。
具體步驟如下:
1.創建相關的項目目錄
[cpp] view plain copy
- cmd
- mkdirhello
- cdhello
- mkdirinludelibsrcdebug
其中inlucde用來存放頭文件,lib用來存放庫文件,src用來存放源程序,debug用來作調試,類似於qt等IDE環境的配置[cpp] view plain copy
- cdsrc
- mkdirmainutil
其中main用來存放主程序(這裡以main.cpp為例),util用來存放相關的庫源程序(這裡以hello.cpp為例)2.創建相關的源文件在include中添加項目相關的頭文件(這裡以hello.h為例):[cpp] view plain copy
- hello.h
- #ifndef_HELLO_H_
- #define_HELLO_H_
- externinthello();
- #endif
在main中添加主程序main.cpp如下:[cpp] view plain copy
- #include<iostream>
- #include"hello.h"
- intmain(){
- hello();
- return0;
- }
在util中添加hello.cpp如下:[cpp] view plain copy
- #include<iostream>
- usingnamespacestd;
- inthello(){
- cout<<"hellowordcmake!!!"<<endl;
- return0;
- }
3.創建相關的配置文件CMakeLists.txt:在頂級目錄hello中添加CMakeLists.txt如下:[cpp] view plain copy
- <prename="code"class="cpp">PROJECT(HELLO)#設置工程名
- ADD_SUBDIRECTORY(src)
- CMAKE_MINIMUM_REQUIRED(VERSION3.7)#設置版本號
- MESSAGE(STATUS"ThisisBINARYdir"${HELLO_BINARY_DIR})
- MESSAGE(STATUS"ThisisSOURCEdir"${HELLO_SOURCE_DIR})
這裡定義了子目錄src,用以遞歸的調用src中的CMakeLists.txt
src目錄中添加CMakeLists.txt如下:
[cpp] view plain copy※I can make my own money!
※为什么make up for ever 翻译成浮生若梦?
※無需手寫任何代碼,直接快速編譯源代碼
※Chinese university bans students from celebrating Christmas because its kitsch and makes them wat