找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 5395|回复: 21

[越飞越高讲堂] 再谈用VS+VC绿色版编译多版本

[复制链接]

已领礼包: 8121个

财富等级: 富甲天下

发表于 2016-6-25 18:39:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 Highflybird 于 2016-9-9 00:21 编辑

以前发帖谈到过用VS2010+ VC6,VC2002,VC2005,VC2008绿色版进行多个版本的编译。
今天对那个方法改进一下,使得它更简单。
这里说的VS 指的是Microsoft Visual Studio 2010或者更高版本;
绿色版的仅仅包含了只含编译器及相关开发库文件,可不含IDE或其他。存放目录可任意,无须修改注册表。
假设你只是装了VS2010, (实际这个方法适用于VS2012,VS2013,VS2015)

步骤:
1.先下载安装 Daffodil.ENU.msi,下载地址:
http://daffodil.codeplex.com/releases/view/55712
2.进入各个编译器的bin目录,检测 CL.exe, LINK.exe这两个程序(可能还有rc.exe)能否正常运行,是否缺少库文件,一般来说可能或缺少:
mspdbXX.dll,msObjXX.dll。把缺少的拷贝进去。
3.进入 盘符:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets;可以看到下面有子目录
V60,V70等等。以VC2002为例子,进入Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets\v70:
编辑 Microsoft.Cpp.Win32.v70.props文件(可在编辑之前先备份原文件):
找到:
    <VCInstallDir>......</VSInstallDir>这一段:
改成:
    <VSInstallDir>$(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Setup\VS@ProductDir)</VSInstallDir>
    <VCInstallDir>$(VSInstallDir)vc7\</VCInstallDir>  
这里我用了$(VSInstallDir)vc7\来代表VC2002的存放位置为:C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC7,你应当视你的目录修改这个
譬如:  <VCInstallDir>D:\DEV\VC2002\</VCInstallDir> 之类的。
对于其他版本和64位的类似修改.
4.在VS里面分别设置各个版本的platform toolset即可

再谈用VS+VC绿色版编译多版本

再谈用VS+VC绿色版编译多版本

VC6-->v60
VC2002-->v70
VC2005-->v80
VC2008-->v90
VC2010-->v100
等.
然后编译,OK.



论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 8121个

财富等级: 富甲天下

 楼主| 发表于 2016-6-25 18:46:31 | 显示全部楼层
请点击此处下载

查看状态:需购买或无权限

您的用户组是:游客

文件名称:MultiVersion.rar 
下载次数:53  文件大小:90.7 KB 
下载权限: 不限 以上  [免费赚D豆]


上传一个文件供大家测试用:

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 859个

财富等级: 财运亨通

发表于 2016-6-25 19:14:45 来自手机 | 显示全部楼层
一次没试成功过,不知这个方法怎样
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2016-6-25 21:07:44 来自手机 | 显示全部楼层
曾版样样精,什么时候介绍一下学习心得,看些什么书,授我们渔。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2016-6-30 11:49:59 | 显示全部楼层
vc2008好像需要vc的sdk,不装也能编译过?

点评

VC2008的头文件、库文件和编译执行文件那几个目录肯定是要的。 你说的是VC++ 2008 .Redistributeable吧,这个一般都是装了的。但是不是一定需要这个没测试。 至于其他的东西应该不需要。  详情 回复 发表于 2016-6-30 11:55
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8121个

财富等级: 富甲天下

 楼主| 发表于 2016-6-30 11:55:28 | 显示全部楼层
aeo 发表于 2016-6-30 11:49
vc2008好像需要vc的sdk,不装也能编译过?

VC2008的头文件、库文件和编译执行文件那几个目录肯定是要的。
你说的是VC++ 2008 .Redistributeable吧,这个一般都是装了的。但是不是一定需要这个没测试。
至于其他的东西应该不需要。



点评

aeo
是 Microsoft SDKs  详情 回复 发表于 2016-6-30 16:59
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2016-6-30 14:25:43 | 显示全部楼层
vs2008释放出来要2G,这也算精简版?:lol:lol
网上的一般300M左右,加64位,没重复文件也应该在600M左右才对呀 :Q:Q:Q

点评

我就是找不到有64位的,所以自己压缩了。 为了方便起见,就统统压缩了,应该还可以精简的。  详情 回复 发表于 2016-6-30 14:36
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8121个

财富等级: 富甲天下

 楼主| 发表于 2016-6-30 14:36:53 | 显示全部楼层
aeo 发表于 2016-6-30 14:25
vs2008释放出来要2G,这也算精简版?
网上的一般300M左右,加64位,没重复文件也应该在600M左右才 ...

我就是找不到有64位的,所以自己压缩了。
为了方便起见,就统统压缩了,应该还可以精简的。

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2016-6-30 16:59:23 | 显示全部楼层
Highflybird 发表于 2016-6-30 11:55
VC2008的头文件、库文件和编译执行文件那几个目录肯定是要的。
你说的是VC++ 2008 .Redistributeable吧 ...

是 Microsoft SDKs

点评

就我这台机上测试而言,新装机器, 装vs2010, CAD,然后就是拷贝各版本的vc,然后测试各个版本均OK。 Microsoft SDKs应该是在装VS2010的时候就自动装进去了。  详情 回复 发表于 2016-6-30 17:07
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2016-6-30 17:02:38 | 显示全部楼层
版本真麻烦,相当于拿十几年前的技术在编程。

我vs2010里面用CDialogEx 建了个对话框,
现在要到vc8编译,肯定不行了,怎么办.............谁帮忙!!!!!:'(:'(:'(

点评

我的办法,在vs2005向导建立一个项目,把你的.h .cpp加进来,局部修改下,编译  详情 回复 发表于 2016-6-30 18:29
给自己用就不用这么折腾。 我说了,本文中的方法不仅仅适用于arx程序,也适用于其他arx之外的程序.  详情 回复 发表于 2016-6-30 17:30
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8121个

财富等级: 富甲天下

 楼主| 发表于 2016-6-30 17:07:28 | 显示全部楼层

就我这台机上测试而言,新装机器, 装vs2010,  CAD,然后就是拷贝各版本的vc,然后测试各个版本均OK。
Microsoft SDKs应该是在装VS2010的时候就自动装进去了。

点评

aeo
vs2008 你的版本 bin下没有 rc.exe ,我的版本是有的 好像rc.exe只和系统有关系,xp win7等版本有关,所以你编译的时候其实是用的vs2010里面的 我的版本里面可能是xp版本,但可以用。 我一直是假定机器没  详情 回复 发表于 2016-7-1 11:01
aeo
Microsoft SDKs是装vs的时候装进去的[/backcolor] vs2008对应的是 6.0a[/backcolor] 除非用7.0a也可以编译,还是你刚好没用到里面的东西。[/backcolor] [/backcolor] 一般在 [/backcolor]C:\Program Files\Mi  详情 回复 发表于 2016-6-30 20:23
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 8121个

财富等级: 富甲天下

 楼主| 发表于 2016-6-30 17:30:45 | 显示全部楼层
aeo 发表于 2016-6-30 17:02
版本真麻烦,相当于拿十几年前的技术在编程。

我vs2010里面用CDialogEx 建了个对话框,

给自己用就不用这么折腾。
我说了,本文中的方法不仅仅适用于arx程序,也适用于其他arx之外的程序.

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2016-6-30 18:29:39 来自手机 | 显示全部楼层
aeo 发表于 2016-6-30 17:02
版本真麻烦,相当于拿十几年前的技术在编程。

我vs2010里面用CDialogEx 建了个对话框,

我的办法,在vs2005向导建立一个项目,把你的.h .cpp加进来,局部修改下,编译

点评

aeo
我没装 vs2005,所以就这样。 #define CDialogEx CDialog 就这样了,好在没用高级功能. 本来就是门外汉,还要凑以前的版本,网都给我搜出洞来了 ^_^  详情 回复 发表于 2016-6-30 20:34
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2016-6-30 20:23:43 | 显示全部楼层
Highflybird 发表于 2016-6-30 17:07
就我这台机上测试而言,新装机器, 装vs2010,  CAD,然后就是拷贝各版本的vc,然后测试各个版本均OK。
M ...

Microsoft SDKs是装vs的时候装进去的
vs2008对应的是 6.0a
除非用7.0a也可以编译,还是你刚好没用到里面的东西。


一般在 C:\Program Files\Microsoft SDKs\Windows下面。


我在上面置顶的arx sdk里面有 链接,6.0a  ,用到时再下吧。


你的vs2008 (vc9) 是sp1版本的,我贴的不是,还是你的比较好。






论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2016-6-30 20:34:20 | 显示全部楼层
eachy 发表于 2016-6-30 18:29
我的办法,在vs2005向导建立一个项目,把你的.h .cpp加进来,局部修改下,编译



我没装 vs2005,所以就这样。

#define CDialogEx CDialog  
就这样了,好在没用高级功能.

本来就是门外汉,还要凑以前的版本,网都给我搜出洞来了 ^_^

点评

你好很厉害呀,我从来没用过MFC对话框!  详情 回复 发表于 2016-7-1 10:12
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-22 06:57 , Processed in 0.434883 second(s), 74 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表