Visual C++编译环境免安装命令行版
2012-07-27 13:31
211 查看
VC的IDE开发环境很好,但太大了,经常是2005/2008/2010装一大堆,占用几十G的空间。用惯了Linux的命令行方式,觉得小巧精致。于是想把VC的基本命令提取出来,也做一个绿色版本。
保留基本的编译命令,cl、lib、link、ml之类的。编译工程只能用nmake了。vcproj工程文件怎么办?用scons重写一个吧。(其实命令行也有个vcbuild)。
制作绿色版之前,首先要安装一个VC,再把其中用到的文件提取出来。或者直接快进到后面找下载链接。
1. 复制C:\Program Files\Microsoft Visual Studio 9.0\VC\bin及其子目录1033,到新的vc9\bin目录
2. 在复制VC目录下的lib和include目录,到新的vc9目录下
3. 复制C:\Program Files\Microsoft Visual Studio 2008\Common7\IDE目录下的:msobj80.dll,mspdb80.dll, mspdbcore.dll, mspdbsrv.exe到vc9\bin
4. 在vc\bin生成manifest文件,名为Micrisoft.VC90.CRT.manifest,内容如下
<?xml version="2.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestversion="1.0">
<noinheritable></noinheritable>
<assemblyidentity name="Microsoft.VC90.CRT" publickeytoken="1fc8b3b9a1e18e3b" processorarchitecture="x86" version="9.0.21022.8" type="win32"></assemblyidentity>
<file name="msvcr90.dll"></file>
<file name="msvcp90.dll"></file>
</assembly>
5. 找到Windows\WinSxS目录下的x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_…目录,复制其中的msvcr90.dll和msvcp90.dll到bin目录
1-3和2008类似,复制bin, include, lib,复制Common7\IDE目录下的几个dll和exe
4. 到Windows\System32目录下找msvcr100.dll, msvcp100.dll,复制到bin
再创建一个BAT脚本,叫start-vc9.bat,包含下面一行:
在Windows资源管理器中双击start-vc9.bat就可以配置好环境变量,进入VC 2008的编译环境了。
下载
需要和3解压到到一起用。双击start-vc10.bat打开一个命令行窗口,就可以用cl, nmake, link等命令了。VC需要的基本环境变量会自动设置。
2. vc9.rar 15M 2008的命令行工具和include/lib打包
下载
需要和3解压到一起用。双击start-vc9.bat打开命令行窗口,VC需要的环境变量会自动设置。
3. win7.rar 16M Windows 7.0 SDK的include/lib打包
下载
注意:命令行编译环境没有包含Debug版的CRT,所有的MFC、ATL的DLL。所以可能存在编译好的程序缺少DLL不能运行的问题。对于2008,可以下载一个VC相关SxS打包。缺DLL就到里面找(参见我的Side-by-Side笔记)。对于2010,由于已经废弃了SxS的发布方式,可以直接到网上下载缺的DLL。
保留基本的编译命令,cl、lib、link、ml之类的。编译工程只能用nmake了。vcproj工程文件怎么办?用scons重写一个吧。(其实命令行也有个vcbuild)。
制作绿色版之前,首先要安装一个VC,再把其中用到的文件提取出来。或者直接快进到后面找下载链接。
Visual C++ 2008制作要领
VC 2008的最大问题是Visual Studio采用Side-by-Side方式发布,不能简单的把依赖的DLL着全就行了。1. 复制C:\Program Files\Microsoft Visual Studio 9.0\VC\bin及其子目录1033,到新的vc9\bin目录
2. 在复制VC目录下的lib和include目录,到新的vc9目录下
3. 复制C:\Program Files\Microsoft Visual Studio 2008\Common7\IDE目录下的:msobj80.dll,mspdb80.dll, mspdbcore.dll, mspdbsrv.exe到vc9\bin
4. 在vc\bin生成manifest文件,名为Micrisoft.VC90.CRT.manifest,内容如下
<?xml version="2.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestversion="1.0">
<noinheritable></noinheritable>
<assemblyidentity name="Microsoft.VC90.CRT" publickeytoken="1fc8b3b9a1e18e3b" processorarchitecture="x86" version="9.0.21022.8" type="win32"></assemblyidentity>
<file name="msvcr90.dll"></file>
<file name="msvcp90.dll"></file>
</assembly>
5. 找到Windows\WinSxS目录下的x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_…目录,复制其中的msvcr90.dll和msvcp90.dll到bin目录
Visual C++ 2010制作要领
VC 2010还在Beta阶段,不过据说已经决定不用SxS,直接用DLL发布了,所以制作简单点。1-3和2008类似,复制bin, include, lib,复制Common7\IDE目录下的几个dll和exe
4. 到Windows\System32目录下找msvcr100.dll, msvcp100.dll,复制到bin
Windows SDK
VC的lib和include里面不带Windows的头文件和库,所以还需要把Windows SDK摘取出来。Windows SDK在安装的时候一般装在C:\Program Files\Microsoft SDKs\Windows\XX目录下,同样把其中的bin, lib, include目录复制出来,到一个新目录,比如win6sdk。环境设置
影响C编译器的环境变量就三个,INCLUDE、LIB和PATH。设置好就可以编译了。假定上面我把VC 2008和Windows SDK分别复制到了vc9和win6sdk目录下,在与这两个目录的上级目录中,创建一个BAT脚本,假设叫vc9.bat,包含下面内容:@echo off echo Setting environment Visual C++ 2010 set VCINSTALLDIR=%~dp0vc9 set WindowsSdkDir=%~dp0win6sdk set INCLUDE=%WindowsSdkDir%\include;%VCINSTALLDIR%\include set LIB=%WindowsSdkDir%\lib;%VCINSTALLDIR%\lib set PATH=%FrameworkDir%\%FrameworkVersion%;%WindowsSdkDir%\bin;%VCINSTALLDIR%\bin;%PATH%
再创建一个BAT脚本,叫start-vc9.bat,包含下面一行:
start cmd /K %~dp0vc10.bat
在Windows资源管理器中双击start-vc9.bat就可以配置好环境变量,进入VC 2008的编译环境了。
下载
1. vc10.rar 21M 2010的命令行工具和include/lib打包下载
需要和3解压到到一起用。双击start-vc10.bat打开一个命令行窗口,就可以用cl, nmake, link等命令了。VC需要的基本环境变量会自动设置。
2. vc9.rar 15M 2008的命令行工具和include/lib打包
下载
需要和3解压到一起用。双击start-vc9.bat打开命令行窗口,VC需要的环境变量会自动设置。
3. win7.rar 16M Windows 7.0 SDK的include/lib打包
下载
注意:命令行编译环境没有包含Debug版的CRT,所有的MFC、ATL的DLL。所以可能存在编译好的程序缺少DLL不能运行的问题。对于2008,可以下载一个VC相关SxS打包。缺DLL就到里面找(参见我的Side-by-Side笔记)。对于2010,由于已经废弃了SxS的发布方式,可以直接到网上下载缺的DLL。
相关文章推荐
- 打造 VC++ 编译环境免安装命令行版
- 在Ubuntn下怎么安装和配置,编译Clutter及gtk环境
- [RK3399][Android7.1] Ubuntu 编译环境安装依赖包失败
- Ubuntu 14 环境下编译安装 Redis 并将其注册为系统服务
- ubuntu 14.04.1下安装android 4.2编译环境出错总结
- Scala学习笔记 --- Centos7下安装Scala编译环境
- ubuntu环境下 自动化编译环境安装
- 从ubuntu系统安装,环境搭建到安卓系统编译
- 自己亲身体验的CentOS编译安装LNMP环境
- LAMP环境编译安装
- Android编译环境搭建-ubuntu下AndroidStudio安装
- 在Mac上编译安装PHP7的开发环境
- CentOS编译安装PHP开发环境
- Linux下php7.0.6+nginx环境编译安装
- Ubuntu下安装交叉编译环境
- Android 编译环境的依赖库安装
- 64位CentOS安装32位开发环境编译Nachos
- Ubuntu 14.04 安装搭建Android开发编译环境
- CentOS编译安装LNMP环境(转载)
- Windows环境下sass安装以及Hbuilder和WebStrom的编译配置