用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
#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,即可。

使用CMake生成sln项目和VS工程遇到的问题的更多相关文章

  1. 使用CMake生成VS2010项目查看OpenCV源代码

    近期项目需要用到OpenCV中的几个函数,但其函数无法全部实现自己需要的功能,故而需要改进部分函数,为安全及效率起见,想参考OpenCV的源码来改进,这样节省时间的同时亦可提供代码的鲁棒性和通用性.那 ...

  2. 在Windows上使用CMake+CMakeLists.txt生成VS项目编译DlibDotnet库

    一.下次源库 地址:https://github.com/takuya-takeuchi/DlibDotNet 二.下载CMake3以上版本 地址:https://cmake.org/download ...

  3. CMake生成VS2010工程相对路径和绝对路径问题说明

    CMake生成VS2010工程相对路径和绝对路径问题说明 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 主要是使用CMake生成的VS2010的工程,最好不 ...

  4. CMake生成OpenCV解决方案&&编译OpenCV源码

    生成OpenCV工程需要用到CMake,所以第一步需要下载CMake软件,下载链接:CMake下载 目前最新的版本是3.7.1,这里选择下载Platform下的Windows win32-x86 ZI ...

  5. 用CMake 构建Qt 项目

    译:用CMake构建Qt项目作者: Johan Thelin  译者:赖敬文原链接:http://developer.qt.nokia.com/quarterly/view/using_cmake_t ...

  6. vs2012生成的项目,如何在只装有VS2010的电脑上打开

    步骤: 1.用记事本打开Vs2012生成的项目解决方案文件(.sln文件)文件 2.修改前两行 Microsoft Visual Studio Solution File, Format Versio ...

  7. eclipse 创建maven 项目 动态web工程报错

    Eclipse 创建maven 项目 动态web工程 注:Eclipse版本为(Version: Mars.1 Release (4.5.1))maven版本为(apache-maven-3.3.9) ...

  8. eclipse 创建maven 项目 动态web工程完整示例

    需求表均同springmvc案例 此处只是使用maven 注意,以下所有需要建立在你的eclipse等已经集成配置好了maven了,说白了就是新建项目的时候已经可以找到maven了 没有的话需要安装m ...

  9. 搭建Dynamic Web Project(动态web项目)的springmvc工程1

    本文转载自:http://blog.csdn.net/typa01_kk/article/details/45902955 此篇创建Dynamic Web Projec工程(动态web项目),下一篇, ...

随机推荐

  1. Linux新手常用命令 - 转载

    开始→运行→cmd命令 集锦 cls------------命令窗清屏eqit-----------退出当前命令ping ip--------检查网络故障ipconfig-------查看IP地址wi ...

  2. C++ Primer 第二章 学习笔记

    在auto一个引用时,auto会忽略顶层const,而保存底层const decltype(sum()) x = i; // I的类型就是sum()返回值的类型

  3. 用纯css写一个常见的小三角形

    .test{ margin:50px auto; width: 0; height: 0; overflow: hidden; border-width: 10px; border-color: #0 ...

  4. TextView实现图文混合编排

    TextView实现图文混合编排 一.简介 在这里实现图文混合编排使用的是:TextView中预定义的类似Html的标签 二.方法 * 1.设置好html标签的文本 String html=" ...

  5. C++(二十三) — 内存泄漏及指针悬挂

    1.内存泄漏 动态申请的内存空间没有正常释放,但也不能继续使用. ; pch1 = new char('A'); // 此处申请的空间未被释放. char *pch2 = new char; pch1 ...

  6. Educational Codeforces Round 23D

    给n个数求每个子区间的价值,区间的价值是最大值-最小值 套路题= =,分别算最大值和最小值的贡献,用并查集维护,把相邻点连一条边,然后sort,求最大是按边价值(两个点的最大价值)小的排,求最小是按最 ...

  7. 计算从哪天起应该购买预售火车票.cs

    代码直接CSC编译即可. 计算从哪天起应该购买预售火车票.cs using System; using System.Diagnostics; using System.IO; class Progr ...

  8. uva 10891 区间dp+记忆化搜索

    https://vjudge.net/problem/UVA-10891 给定一个序列x,A和B依次取数,规则是每次只能从头或者尾部取走若干个数,A和B采取的策略使得自己取出的数尽量和最大,A是先手, ...

  9. C语言小知识点汇集

    1. 三元表达式“?:”冒号两边的两个操作数类型必须一致. 2. 枚举变量的sizeof值同int型一样为4. 3. 为了消除不必要的计算 &&两侧的表达式,当左侧即第1个表达式不成立 ...

  10. 公有云厂商DDoS防护产品竞品分析——内含CC的一些简单分析,貌似多是基于规则,CC策略细粒度ip/url//ua/refer

    公有云厂商DDoS防护产品竞品分析 from:http://www.freebuf.com/articles/network/132239.html 行文初衷 由于工作关系,最近接触了很多云上用户,对 ...