用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. 有谁知道什么工具测试IOS手机上APP的性能软件啊?

    有谁知道什么工具测试IOS手机上APP的性能软件啊?

  2. Java多线程 - 控制线程

    join线程 在某个线程的执行流中调用其他线程的join()方法时,调用线程将被阻塞,直到被join()方法加入的线程完成为止. join()方法有三种重载形式: join():等待被join的线程执 ...

  3. php:Mcrypt响应慢的原因解决备注

    作者: Laruence 本文地址: http://www.laruence.com/2012/09/24/2810.html 转载请注明出处 上午的时候, 有同事来找我说上周新上线的一个使用mcry ...

  4. hdu 5981 Guess the number

    Guess the number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 160000/160000 K (Java/Other ...

  5. uva-1449-AC自动机

    题目链接https://vjudge.net/problem/UVA-1449 题目大意:给出N(N<150)个长度不超过L(70)的匹配串和一个长度小于1e6的文本串,在文本串中找出出现次数最 ...

  6. urllib2打开URL(含中文)的问题

    import urllib2 url = u"http://www.baidu.com/wd=测试" urllib2.urlopen(url.encode('utf-8')).re ...

  7. ubuntu 安装python3.7 以及安装pip3 出现Command '('lsb_release', '-a')' returned non-zero exit status 1问题解决

    最近因为电脑重装,东西全没了,总计一下最近重装环境的过程. 如果没有安装包,请下载: wget http://www.python.org/ftp/python/3.7.0/Python-3.7.0. ...

  8. 同步容器类ConcurrentHashMap及CopyOnWriteArrayList

    ConcurrentHashMap Java5在java.util.concurrent包中提供了多种并发容器类来改进同步容器的性能.其中应用最为广泛的为ConcurrentHashMap,Concu ...

  9. 017对象——对象 get_object_vars get_parent_class is_subclass_of interface_exists

    <?php /** */ //get_object_vars($obj) 获得对象的属性,以关联数据形式返回. /*class study{ public $name; public $age; ...

  10. Linux命令四

    作业一: 1) 开启Linux系统前添加一块大小为20G的SCSI硬盘 2) 开启系统,右击桌面,打开终端 安装的是命令行界面 3) 为新加的硬盘分区,一个主分区大小为10G,剩余空间给扩展分区,在扩 ...