Visual C++的cl.exe编译器是微软推出的编译器,干什么的怎么用也不赘述了。大多数情况都是直接在Visual Studio里写代码然后点击“播放”按钮让Visual Studio自动处理编译连接执行的问题,但是偶尔也会出现比如写个Hello WorldI'm newBee ShineShine之类的简单的程序,这类程序也启动VS来写的话似乎有种杀鸡焉用宰牛刀的行为,那么可以在PowerShell或者CMD里使用cl.exe手工执行编译操作。

如果需要编译一份C/C艹文件,配置系统变量前直接敲入cl.exe [Args]肯定会报错,查了一下MSDN可以看到在编译之前需要执行批处理vsvars32.bat,在

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools

目录下(根据VS版本修订版本号)。之前为了图简单一直是这样做了,结果在自己写的在线评测里面发现C/C艹经常编译超时,有个原因就是这个批处理还是占了不少时间,所以得用设环境变量的方法来回避执行这个蛮肥的批处理。

根据网上的资料可以找到需要设置:PATHLIBINCLUDE这三个环境变量。一般来说PATH都有的,所以追加PATH后添加LIBINCLUDE就可以了。但是搜索给出来的结果比较陈旧,主要是VS2005之类的老版本,毕竟10年过去了,所以按照网上的整下来会出现头文件不对、库文件不对的问题,主要的原因是VS2015里面加入了ucrt这个东西,所以需要额外引入Windows 10的SDK,还有uuid.lib得在Windows 8.x的SDK里找到,所以配置起来还是蛮麻烦的。

PATH追加###

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE;

LIB###

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10150.0\ucrt\x86;C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x86

INCLUDE###

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include;C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt

不同操作系统版本是有点变化的,值得注意的是x86/x86_64这个需要根据目标设定选择,Windows Kits会有一些变化,原则路径大致相同,所以以上的配置信息谨慎复制粘贴。

然后就可以直接在命令行里使用cl命令来编译C/C艹文件了,具体cl编译参数查阅MSDN。

最新文章

  1. 转 10 个最佳的 Node.js 的 MVC 框架
  2. [转]AndroidStudio导出jar包
  3. 剑指Offer:面试题22——栈的压入,弹出序列(java实现)
  4. DistributedCache小记
  5. PHP中,JS和CSS优化工具Minify的使用方法
  6. Linux下串口编程入门
  7. “乐”动人心--2017年10款最佳音乐类APP设计盘点
  8. ajaxToolkit 异步加载报 错误500的解决方法
  9. 二、selenium 安装
  10. 【转】关于高可用负载均衡的探索-基于Rancher和Traefic
  11. 四种常见的 POST 提交数据方式对应的content-type取值
  12. Linux查看端口、进程信息
  13. Unity3D游戏制作(三)——移动平台上的角色阴影制作
  14. [skill][c] *(char**)
  15. idea总是编译启动报错
  16. docker重命名镜像
  17. sps和pps的简单理解记录
  18. HTML(具体代码看笔记本)
  19. Dijkstra算法---HDU 2544 水题(模板)
  20. 如何:调试 .NET Framework 源代码

热门文章

  1. android app上线后bug的处理
  2. Shell文本处理 - 匹配与编辑
  3. html理解
  4. UI基础
  5. Linux图片批处理
  6. 使用Wireshark 查看查找未被过滤端口
  7. ASP.NET使用ConfigurationSection在Web.Config创建自定义配置节
  8. C#基于Office组件操作Excel
  9. CDATA为何物?
  10. 关于H5本部缓存localStorage,sessionStorage