天天看點

cmake用vs運作cmake後的工程學習使用CMake建構工程

用vs運作cmake後的工程

參考:http://zhidao.baidu.com/link?url=AZRxI0jGDzo6Pikk68qylee0g7leXbpbZGiVuyiijWbd8scUKWvh9y0E-ZHeToZ5mWXYQD3uLMXiA6Lwf9_r8HEFpoLWvUhCuMcnH4rnOS7

1、單個檔案示例:
1) 首先建立檔案夾CMakeTest/Src
2) 在檔案夾Src中建立兩個檔案main.c和CMakeLists.txt
3) main.c:
#include <stdio.h>

int main()
{
     printf("hello world.");
     getchar();
     return 0;
}
4) CMakeLists.txt
PROJECT (HELLO)

SET (SRC_LIST main.c)

ADD_EXECUTABLE (hello ${SRC_LIST})
5) 打開:開始--Microsoft Visual Studio 2012--Visual Studio Tools--VS2012 x86 Native Tools Command Prompt

 6) 進入到CMakeTest/build/Src目錄,執行以下代碼
mkdir build & cdbuild
cmake .. -G"NMake Makefiles"
nmake      

學習使用CMake建構工程

轉自:http://blog.csdn.net/alex_my/article/details/18982363  (學習使用CMake的詳細過程參考連結)

使用CMake生成sln項目

1) 以上是一些基本應用,現在我們将要生成sln項目供VS直接使用,當然,也可以生成供XCODE使用或者linux等等。

2) 本機配置:WIN7 X64,VS2012 X64。本次使用CMakeTest/Src5做為示例。

3) 運作CMake, 将Src5包含在源檔案中,在Src5下建立build目錄(也可以先不建,會自動生成),将其包含到生成檔案中。

如圖:

# 配圖 cmake_step71.png

cmake用vs運作cmake後的工程學習使用CMake建構工程

4) 運作上圖中紅框訓示的Configure按鈕,在彈出框中選擇Visual Studio 11 WIN64(根據你的需要進行選擇,注意的是VS2012 對應

的版本号是110,是以選11, VS2010 對應的版本号是100,是以選10)。點選下圖中紅框訓示的Finish按鈕。

# 配圖 cmake_step72.png

cmake用vs運作cmake後的工程學習使用CMake建構工程

5) 運作結束後如下圖所示,如果有錯誤,會在紅框訓示區提示。請再次點選 Configure按鈕。

# 配圖 cmake_step73.png

cmake用vs運作cmake後的工程學習使用CMake建構工程

6) 運作結束後如下圖所示, 然後請點選Generate按鈕。

# 配圖 cmake_step74.png

cmake用vs運作cmake後的工程學習使用CMake建構工程

7) 打開CMakeTest/Src5/build,會發現生成的HELLO.sln。

# 配圖 cmake_step75.png

cmake用vs運作cmake後的工程學習使用CMake建構工程

8) 用VS2012将項目打開,選擇ALL_BUILD為啟動項,編譯。

# 配圖 cmake_step76.png

cmake用vs運作cmake後的工程學習使用CMake建構工程

ps:

'nmake' 不是内部或外部指令,也不是可運作的程式或批處理檔案。 
 參考:http://blog.163.com/[email protected]/blog/static/68117214201332761143157
如果你也遇到了這個問題,那麼我敢肯定90%的情況下你使用的cmd是普通的cmd!
'nmake' 不是内部或外部指令,也不是可運作的程式或批處理檔案。
解決的問題很簡單,使用VS2010自帶的cmd。      
若是顯示“ 'cmake' 不是内部或外部指令,也不是可運作的程式或批處理檔案。”
 參考:http://blog.csdn.net/solox1983/article/details/6567342 
環境變量的配置。
     要在"我的電腦"->右鍵屬性—>進階->環境變量->PATH,增加兩個工具的bin檔案夾的目錄。這樣才能在CMD 或者直接編譯和生成makefile。
http://www.cmake.org/download/
Windows Source (has \r\n line feeds)    cmake-3.2.0-rc2.zip
Windows ZIP    cmake-3.2.0-rc2-win32-x86.zip      
vs2013(error C2039: “min”: 不是“std”的成員)

http://blog.lishewen.com/post/2013/11/24/cocos2d-x-project-in-vs2013-compiler-error-solution

在VS2013編譯cocos2d-x的win32項目時,會報錯誤:

error C2039: “min”: 不是“std”的成員

error C2873: “min”: 符号不能用在 using 聲明中

這時需要打開對于報錯的.cpp檔案,在頭部加入

1

#include <algorithm>

無法啟動程式 系統找不到指定的檔案

vs預設的項目是ALL_BUILD這個項目,但是我的預設啟動項目應該是HelloCmake project ,是以通過移除all_build和zero項目是可以的,另外通過右鍵将helloCmake設為預設啟動項目也是可以的

error C4996: 'fopen': This function or variable may be unsafe.

參考:http://www.cnblogs.com/liwenbin/p/3488400.html

編譯lua源碼時,使用vs2012,遇到如下錯誤。

1>------ 已啟動生成: 項目: 20130925, 配置: Debug Win32 ------

1>  stdafx.cpp

1>d:\code\20130925\20130925\stdafx.cpp(18): error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

1>          d:\vs2012\vc\include\stdio.h(218) : 參見“fopen”的聲明

1>  20130925.cpp

1>  正在生成代碼...

========== 生成: 成功 0 個,失敗 1 個,最新 0 個,跳過 0 個 ========== 

解決方案,項目 ->屬性 -> c/c++ -> 預處理器 -> 點選預處理器定義,編輯,加入_CRT_SECURE_NO_WARNINGS,即可。

繼續閱讀