在Linux下编库经常会使用CMakeLists.txt文件,然后一个cmake 再一个make就可以编译出来。

在Windows下有cmake,但是cmake出来是一个Visual Studio工程,然后搜索windows下能不能用make,结果是要安装MinGW,然后就放弃了。

最近看到windows下可以使用cmake和nmake的组合编译程序,记录下来。

先看一个结果:

一个简单的c程序,文件名为main.c,放在桌面test文件夹下:

 //main.c
#include <stdio.h>
int main()
{
printf("Hello World!/n");
return ;
}

编写CMakeLists.txt文件,放在test文件夹下:

 project(HELLO)
set(SRC_LIST main.c)
add_executable(hello ${SRC_LIST})

在test文件夹下新建一个build文件夹,进入build文件夹:

然后打开下面的命令窗口:

进入后如下所示:

使用命令进入build文件夹:

cd /d C:\Users\Administrator\Desktop\test\build

执行cmake与nmake:

 cmake .. -G"NMake Makefiles"
nmake

执行完毕会生成一个hello.exe,在命令窗口继续执行:

hello.exe

就会输出结果:

Hello World!/n

正如文章开头看到的一样。

参考博客:https://blog.csdn.net/dbzhang800/article/details/6314073

参考博客:https://blog.csdn.net/graduate_2017/article/details/70752770?t=1514901314692

最新文章

  1. windows 获取以及更改CMD控制台编码[转]
  2. jquery插件——日历控件
  3. 自定义滚动条CSS样式
  4. sicily 1200欢迎提出优化方案
  5. UVA 11736 Debugging RAM
  6. Android应用不随手机屏幕旋转的方法
  7. java的动态代理设计模式
  8. poj2608---几个字母映射到同一个数字
  9. [C# 基础知识系列]专题六:泛型基础篇——为什么引入泛型
  10. 反射机制(reflection)动态相关机制
  11. Item 27: 明白什么时候选择重载,什么时候选择universal引用
  12. 实施软件测试风险分析&amp;回归用例刷选
  13. 魔方 NewLife.Cube
  14. 51Nod 欢乐手速场1 A Pinball[DP 线段树]
  15. bootstrap表格添加按钮、模态框实现
  16. 关于java和jvm的思考
  17. 线程的使用方法start run sleep join
  18. 使用iostat来对linux硬盘IO性能进行检测
  19. Linux系统更改默认Python版本
  20. Docker实战-为镜像添加SSH服务

热门文章

  1. gitlab 更换服务器后访问 Integrations 出现 500 错误
  2. ddctf,warm up,web题
  3. JS高级---正则表达式练习身份证号码
  4. Appnium 环境搭建
  5. 题解 【Codefoeces687B】Remainders Game
  6. WPF学习笔记三之绑定
  7. pyodbc 一些内容
  8. webrtc博客收藏
  9. 剑指offer 面试题52. 两个链表的第一个公共节点
  10. asp.net + MVC5 入门完整教程一