1 什么是cl.exe?
cl 编译器是Microsoft 推出的应用于Wins 平台上的C/C++编译器;类似于Linux系统上的GCC,G++等。实时上VS2015集成开发环境就是调用cl.exe来进行源码编译的,所以可以直接在shell中执行
cl [ option... ] filename... [ /link linkoption... ]
编译代码。
2 环境配置问题
注意:
我这里用的是64位的cl.exe(C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64) 目录下的,所以配置的文件夹路径也均为64位的,如32位请自行更换,否则可能出现如下错误:
fatal error LNK1112: module machine type ‘x64’ conflicts with target machine type ‘X86’
出现这个问题的原因是 cl.exe 的paltform 和使用的库(.lib)的位数(X86 或者X64)不匹配,更改一致即可。
常见的错误:
fatal error C1083: Cannot open include file: ‘io.h’: No such file or directory。 如果把这个路径加入到环境变量的系统变量Path 中依然找不到文件,如下图所示:
解决方法:
- 在系统变量中新建LIB 变量并添加如下图中的路径:
- 在系统变量中添加INCLUDE变量并添加如下图中的路径:
- Path 变量中添加如下图所示路径:
3 总结
可能cl.exe去查找相关的 头文件(.h) 和(.lib)时会查找关键字INCLUDE 和LIB 所以在Path 中添加路径不起作用。