码迷,mamicode.com
首页 > Windows程序 > 详细

Windows下使用CMake进阶

时间:2018-11-24 16:44:09      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:生成   www   uil   shell   .bat   star   入门   告诉   编译环境   

目录

CMake入门实践一文中,我们初略的介绍了CMake的跨平台性和使用方法。
本文将学习在Windows下如何系统的使用CMake,会涉及到msbuild ,nmake等Windows本地的工具库,如果不是很了解,可以先百度看看。
cmake有Windows的GNU工具,这个工具很傻瓜化,这里不做介绍。

回顾代码工程中有什么

  1. 源文件 如cpp 文件
  2. 头文件 如h文件
  3. 我们自己的库文件 ,lib 或者dll文件
  4. 三方库,不过一般而言,我们使用库文件的lib或者dll然后加上它的头文件即可
  5. 资源文件
  6. 其他?

将需要的东西在cmake脚本CMakeLists.txt中申明

CMakeLists.txt的写法规则及语法:
该文很全面了,我不再造轮子了

一键型编译

CMakeLists.txt 文件写好后,我们就可以开始编译了,和之前的介绍的一样,我们最好将编译生成的文件全部放入一个中间文件夹中。
linux下的一键编译是非常优美的,windows程序员因为被VS等IDE包养,并不是很愿意使用黑压压的命令行工作,但是,我会告诉你,使用命令行工作已经是大势所趋了。你不仅需要熟悉命令行工作,更应该擅长此道。
widows下也有自己的命令行编译工具,比如msbuild,nmake等。这两个工具是和VS一起升级维护的,所以对于像笔者这样,一台机器安装3个版本的VS的人,要使用正确版本的编译工具其实需要走些路。

使用nmake

以下是笔者希望使用VS2008的nmake需要完成的工作:

  1. 首先打开cmder
  2. 找到VS2008的安装路径,比如笔者的是E:\Program Files\Microsoft Visual Studio 9
  3. 在cmder中输入 "E:\Program Files\Microsoft Visual Studio 9\VC\vcvarsall.bat" x86(双引号很重要,必须, x86表示我希望编译32位程序)
  4. 环境配置完成后,切换路径到win-build(这是我自定义的代码生成中间文件夹,外围才是我的工程代码)输入cmake .. -G "NMake Makefiles"
  5. 然后输入nmake
  6. 编译无误后生成了可执行程序

补充说明:

  • 使用其他编译环境同VS2008即可,找到该版本的VS的目录,输入命令配置nmake环境
  • 该配置环境只在本次控制台有效,不会影响你的系统配置

使用msbuild

使用msbuild的步骤和nmake大同小异:
将上面第4步的cmake .. -G "NMake Makefiles" 换成 cmake .. -G "Visual Studio 9 2008"
将上面第5步的nmake 换成 MSBuild.exe Project.sln 这个Project.sln 换成你自己的工程名即可

实现一键编译

可以把命令写成bat脚本 ,做到真正的一键编译。

echo off

echo 'start cmake in windows'

call "e:/Program Files/Microsoft Visual Studio 9/VC/vcvarsall.bat" x86

cd  win-build

cmake .. -G "NMake Makefiles"

nmake

echo 'end all'

其他可以参考,将该bat文件放在和cmake脚本文件同路径下,即可一键生成exe执行文件。

参考

官方指导

https://blog.csdn.net/qq_22042587/article/details/78850708

https://blog.csdn.net/yaoyuanyylyy/article/details/79024962

http://www.360doc.com/content/14/1113/13/9075092_424804822.shtml

https://blog.csdn.net/gxuan/article/details/7701035

https://blog.csdn.net/yanchuang1/article/details/69683236

https://www.cnblogs.com/cv-pr/p/6206921.html

https://blog.csdn.net/libaineu2004/article/details/78995740

Windows下使用CMake进阶

标签:生成   www   uil   shell   .bat   star   入门   告诉   编译环境   

原文地址:https://www.cnblogs.com/Stultz-Lee/p/10012366.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!