使用cl.exe在windows控制台下编译C++程序
2017-10-07 20:40
609 查看
工具
cl.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具。编译器将.cpp编译,生成中间代码目标文件(.obj)。链接器将目标文件链接,产生可执行文件 (.exe) 或动态链接库文件 (DLL)。link.exe 是将目标文件和库链接起来以创建 32 位可执行 (.exe) 文件或动态链接库 (DLL) 的 32 位工具。
rc.exe 是将windows资源文件(.rc)编译成资源文件(.res),从而与目标文件链接,一般用于设置exe文件的图标和属性或者dll包含的资源。
lib.exe是将目标文件链接生成静态库文件(.lib),也可以用于生成dll的lib文件。
环境配置
那么这4个exe文件在哪个目录下呢?我的vs装在了E盘,然后我在 E:\vs2013\VC\bin 目录下找到了cl.exe,link.exe,lib.exe,但是没找到rc.exe,于是我在C盘看了看,结果在C:\Program Files (x86)\Windows Kits\8.1\bin\x64 目录下找到了,后来我又发现这些exe似乎不止一份,在很多目录下都有,真奇怪。。。好吧,找到了后把所在目录加入Path环境变量就可以了。光这样还不行,还得把一些头文件和lib库也加入环境变量,目录如下:
//这4个加入INCLUDE环境变量 E:\vs2013\VC\include; C:\Program Files (x86)\Windows Kits\8.1\include\shared C:\Program Files (x86)\Windows Kits\8.1\include\um C:\Program Files (x86)\Windows Kits\8.1\include\winrt //这2个加入LIB环境变量 E:\vs2013\VC\lib C:\Program Files (x86)\Windows Kits\8.1\Lib\winv6.3\um\x64
使用
以生成dll为例:先用cl命令将.cpp编译成.obj,-c选项的作用:只编译不链接,不然cl还会试图链接生成exe,但dll工程根本没有main函数,没法生成exe,所以就会出错了。
cl -c dllmain.cpp dllclass.cpp
如果有资源文件(.rc),那么用rc.exe将.rc编译成.res
rc dllsource.rc
用link命令将.obj .rc等文件 链接,生成dll文件及对应的.lib .exp
link -dll dllmain.obj dllclass.obj dllsource.res
更多详细内容
cl.exe命令参数详解cl&link用法
msdn在命令行上编译C++程序
相关文章推荐
- C++ -> 在Window7 命令行下使用微软编译工具 cl.exe
- 如何配置才能使用cl命令编译C/C++程序?
- windows下使用Sublime Text3编译运行C++程序
- C++ -> 在Window7 命令行下使用微软编译工具 cl.exe
- C++ WINDOWS API 如何使用NMAKE和CL编译
- 如何配置才能使用cl命令编译C/C++程序?
- VS下如何配置才能使用 cl 命令行方式编译 C/C++ 程序
- Windows命令行调用微软cl编译C/C++程序
- 使用mingw-get.exe命令行工具在Windows平台上安装C++等语言的编译工具
- windows环境中使用VC的nmake和makefile编译c++程序
- 在Windows下使用命令提示符以及VS提供的CL编译器编译运行C/C++
- Sublime Text2 使用VS编译和运行C/C++程序(windows)
- Windows环境下使用cmd面板手动编译c/c++程序
- Windows 7下使用GNU工具编译C/C++程序的环境搭建
- Windows环境使用VIM编译简单C++程序(使用cl.exe和link.exe)
- 如何在windows中使用cmd命令去编译,运行C++程序
- 模拟Linux命令行方式在Windows下编译C/C++程序(使用VS编译器)
- C++ -> 在Window7 命令行下使用微软编译工具 cl.exe
- Sublime Text3/2使用windows编译器编译和运行C/C++程序
- 使用 vc2008编译器 在命令行下编译 windows窗口程序