用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
4) 執行上圖中紅框指示的Configure按鈕,在彈出框中選擇Visual Studio 11 WIN64(根據你的需要進行選擇,注意的是VS2012 對應
的版本號是110,因此選11, VS2010 對應的版本號是100,因此選10)。點選下圖中紅框指示的Finish按鈕。
# 配圖 cmake_step72.png
5) 執行結束後如下圖所示,如果有錯誤,會在紅框指示區提示。請再次點選 Configure按鈕。
# 配圖 cmake_step73.png
6) 執行結束後如下圖所示, 然後請點選Generate按鈕。
# 配圖 cmake_step74.png
7) 開啟CMakeTest/Src5/build,會發現生成的HELLO.sln。
# 配圖 cmake_step75.png
8) 用VS2012將專案開啟,選擇ALL_BUILD為啟動項,編譯。
# 配圖 cmake_step76.png
ps:
'nmake' 不是內部或外部命令,也不是可執行的程式或批處理檔案。 參考:http://blog.163.com/lvan100@yeah/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 |
|
無法啟動程式 系統找不到指定的檔案
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