使用CMake生成sln项目和VS工程遇到的问题
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
用vs運(yùn)行cmake后的工程
參考:http://zhidao.baidu.com/link?url=AZRxI0jGDzo6Pikk68qylee0g7leXbpbZGiVuyiijWbd8scUKWvh9y0E-ZHeToZ5mWXYQD3uLMXiA6Lwf9_r8HEFpoLWvUhCuMcnH4rnOS7
?
1、單個(gè)文件示例: 1) 首先建立文件夾CMakeTest/Src 2) 在文件夾Src中建立兩個(gè)文件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 Prompt6) 進(jìn)入到CMakeTest/build/Src目錄,執(zhí)行以下代碼 mkdir build & cdbuild cmake .. -G"NMake Makefiles" nmake?
?
學(xué)習(xí)使用CMake構(gòu)建工程
轉(zhuǎn)自:http://blog.csdn.net/alex_my/article/details/18982363? (學(xué)習(xí)使用CMake的詳細(xì)過程參考鏈接)
?
使用CMake生成sln項(xiàng)目
?
1) 以上是一些基本應(yīng)用,現(xiàn)在我們將要生成sln項(xiàng)目供VS直接使用,當(dāng)然,也可以生成供XCODE使用或者linux等等。
?
2) 本機(jī)配置:WIN7 X64,VS2012 X64。本次使用CMakeTest/Src5做為示例。
?
3) 運(yùn)行CMake, 將Src5包含在源文件中,在Src5下新建build目錄(也可以先不建,會(huì)自動(dòng)生成),將其包含到生成文件中。
?
如圖:
?
# 配圖 cmake_step71.png
?
?
4) 運(yùn)行上圖中紅框指示的Configure按鈕,在彈出框中選擇Visual Studio 11 WIN64(根據(jù)你的需要進(jìn)行選擇,注意的是VS2012 對(duì)應(yīng)
?
的版本號(hào)是110,因此選11, VS2010 對(duì)應(yīng)的版本號(hào)是100,因此選10)。點(diǎn)擊下圖中紅框指示的Finish按鈕。
?
# 配圖 cmake_step72.png
?
?
5) 運(yùn)行結(jié)束后如下圖所示,如果有錯(cuò)誤,會(huì)在紅框指示區(qū)提示。請(qǐng)?jiān)俅吸c(diǎn)擊 Configure按鈕。
?
# 配圖 cmake_step73.png
?
?
6) 運(yùn)行結(jié)束后如下圖所示, 然后請(qǐng)點(diǎn)擊Generate按鈕。
?
# 配圖 cmake_step74.png
?
?
7) 打開CMakeTest/Src5/build,會(huì)發(fā)現(xiàn)生成的HELLO.sln。
?
# 配圖 cmake_step75.png
?
?
8) 用VS2012將項(xiàng)目打開,選擇ALL_BUILD為啟動(dòng)項(xiàng),編譯。
?
# 配圖 cmake_step76.png
?
?
?
ps:
?
'nmake' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。 參考:http://blog.163.com/lvan100@yeah/blog/static/68117214201332761143157 如果你也遇到了這個(gè)問題,那么我敢肯定90%的情況下你使用的cmd是普通的cmd! 'nmake' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。 解決的問題很簡(jiǎn)單,使用VS2010自帶的cmd。?
?
?
若是顯示“ 'cmake' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。”參考:http://blog.csdn.net/solox1983/article/details/6567342 環(huán)境變量的配置。要在"我的電腦"->右鍵屬性—>高級(jí)->環(huán)境變量->PATH,增加兩個(gè)工具的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項(xiàng)目時(shí),會(huì)報(bào)錯(cuò)誤:
error C2039: “min”: 不是“std”的成員
error C2873: “min”: 符號(hào)不能用在 using 聲明中
這時(shí)需要打開對(duì)于報(bào)錯(cuò)的.cpp文件,在頭部加入
| 1 | #include <algorithm> |
?
無法啟動(dòng)程序 系統(tǒng)找不到指定的文件
vs默認(rèn)的項(xiàng)目是ALL_BUILD這個(gè)項(xiàng)目,但是我的默認(rèn)啟動(dòng)項(xiàng)目應(yīng)該是HelloCmake?project?,所以通過移除all_build和zero項(xiàng)目是可以的,另外通過右鍵將helloCmake設(shè)為默認(rèn)啟動(dòng)項(xiàng)目也是可以的
?
?
?
error C4996: 'fopen': This function or variable may be unsafe.
參考:http://www.cnblogs.com/liwenbin/p/3488400.html
?
編譯lua源碼時(shí),使用vs2012,遇到如下錯(cuò)誤。
1>------ 已啟動(dòng)生成: 項(xiàng)目: 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 個(gè),失敗 1 個(gè),最新 0 個(gè),跳過 0 個(gè) ==========?
解決方案,項(xiàng)目 ->屬性 -> c/c++ -> 預(yù)處理器 -> 點(diǎn)擊預(yù)處理器定義,編輯,加入_CRT_SECURE_NO_WARNINGS,即可。
分類:?cmake/autotool
轉(zhuǎn)載于:https://my.oschina.net/u/4000302/blog/3038012
總結(jié)
以上是生活随笔為你收集整理的使用CMake生成sln项目和VS工程遇到的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【形式化方法:VDM++系列】4.VDM
- 下一篇: ANDROID L——Material