在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

windows cmake与nmake的更多相关文章

  1. easymake cmake xmake nmake ...

    最简单的Makefile,但是还是大程序少不了makefile工具 #CC=arm-linux-gnueabihf-CC=target:    $(CC)gcc -o algo_main algo_m ...

  2. windows+CMake+mingw 搭建c c++开发环境

    layout: post title: "windows+CMake+mingw 搭建c c++开发环境" date: 2018-03-30 22:23:06 tags: wind ...

  3. 在Windows下使用nmake+Makefile+编译ZThread库(附例子)

    ----------2015/01/09/23:21更新----------------------------------- 关于保留DEBUG信息的一个简单例子,见这篇随笔 ----------2 ...

  4. zlib、libzip、 libzippp 库编译(windows + cmake + vs2013)

    "libzipp" 这库是基于 "libzip" 之上封装的,而 "libzip" 又是基于 "zlib"库封装的,所以 ...

  5. windows cmake安装

    https://blog.csdn.net/u013832707/article/details/53127710

  6. Windows上编译OpenImageIO

    这里使用的是OpenImageIO 1.1.11,要将OIIO解压到[工作目录]/openimageio/oiio里面. 先要给OIIO打一个patch,patch文件是Blender提供的: 下载O ...

  7. Windows上编译LLVM 3.2

    LLVM还是做的很好的,可以很方便的编译. 解压LLVM 3.2到[工作目录]/llvm/llvm-3.2.src 解压Clang到[工作目录]/llvm/llvm-3.2.src/tools/cla ...

  8. Windows下使用CMake进阶

    目录 回顾代码工程中有什么 将需要的东西在cmake脚本CMakeLists.txt中申明 一键型编译 使用nmake 使用msbuild 实现一键编译 参考 在CMake入门实践一文中,我们初略的介 ...

  9. 普通Windows控制台窗口运行nmake编译VC

    我的GDAL编译都是在VS2012提供的prompt windows里面运行nmake完成的.但是如果想将编译自动化,放到Jenkins里面怎么办呢?首先没有VS2012的工程,也不想费力去生成一个, ...

随机推荐

  1. 安装SQL Server2008出现Restart computer failed的解决办法

    1.打开注册表编辑器 2.找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager双击文件夹 3.找到PendingF ...

  2. LaTeX绘图

    http://math.uchicago.edu/~weinan/programs/tex_diagrams/diagrams.html 给大家分享下这个,用鼠标画diagrams,然后可以一键复制l ...

  3. java_HashMap的遍历方法_4种

    1.通过接收keySet来遍历: HashMap<String,String> map = new HashMap<>(); map.put("bb",&q ...

  4. 【Python】表白代码

    # -*- coding:utf-8 -*- import turtle import time # 画爱心的顶部 def LittleHeart(): for i in range(200): tu ...

  5. 5G将至,4G降速:是谣言还是真相?

    畅用移动智能终端设备,早已成为大众日常生活中的一部分.卫报专栏作家伯克曼提到,"据估计,70%的人会抱着手机或iPad刷资讯入睡."当移动智能终端变得如此重要时,与之息息相关的网络 ...

  6. ubuntu Redis安装及配置

    1.安装 1.1 下载压缩包:wget http://download.redis.io/releases/redis-5.0.4.tar.gz1.2 解压:tar xzf redis-5.0.4.t ...

  7. Linux环境C语言斐波拉切数列(1,1,2,3,5,8,13,.........)实现

    斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一 ...

  8. AE 打开Shp文件

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  9. 【数据结构】【C++】堆栈的实现与应用

    堆栈(Stack) 参考浙大版<数据结构(第2版)> 堆栈可以认为是具有一定约束的线性表,插入和删除的操作都在栈顶的位置,先进入的元素将在后进入的元素之后取出,与生活中的桶类似,故又称为后 ...

  10. VSCode C语言编程(一)环境搭建

    1.安装Visual Studio Code 2. 安装MinGW编译器 有两种方法 方法(1) 打开https://sourceforge.net/projects/mingw-w64/files/ ...