找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3868|回复: 9

[分享] 用VS2010一劳永逸解决AutoCAD ObjectArx开发中VS版本问题

[复制链接]

已领礼包: 13个

财富等级: 恭喜发财

发表于 2013-5-20 01:58:34 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 LoveArx 于 2013-5-20 02:06 编辑



AutoCAD ObjectArx 开发中一个痛苦的地方, 是版本问题. 每个版本必须严格对应 Visual Studio 版本, 如用VS2005编译Arx2007到Arx2009的代码. 这样导致了开发人员的电脑中必须安装有VS2005, 并且使用VS2005. 然而现在VS2010都出来了, 作为Arx开发人员, 当然希望使用IDE方便的新特性, 而VS2010中提供了一种功能 - PlatformToolsets, 它使得VS2010能方便的编译和生成其他版本的C++程序. 这样, 只要安装一个VS2010并且经过一定的配置, 就能够轻易生成VS2003, VS2005, VS2008(sp1)的程序, 换句话说, 只使用VS2010, 就能够生成从Arx2007到Arx2011的任意版本AutoCAD的插件!


缺省的情况下, VS2010内置了两种 PlatformToolsets: v100, v90. 它们指的是VC++的版本, v100指的是VS2010中的VC++, 而v90指的是VC++ 2008(SP1). 要让v90能正常工作, 缺省的配置要求电脑中必须同时安装 VS2010 和 VS2008, 这样才可以使用 VS2010 来生成 VC++ 2008(SP1) 的程序代码.


现在我要做的是, 配置VS2010使得只使用VS2010, 就能够生成从Arx2007到Arx2011的任意版本AutoCAD的插件! 经过一个下午的折腾, 我终于搞定了这个配置.


步骤:
1. 首先要有VC各个版本的编译器.可以到这里下载.我下载了2003/5/8

2. 解压到VS2010安装目录下, 如图所示


: 0.jpg

3. 下载一些编译时需要的tool, VCCommonBin.Zip,
请点击此处下载

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

您的用户组是:游客

文件名称:VCCommonBin.zip 
下载次数:77  文件大小:664.37 KB 
下载权限: 不限 以上  [免费赚D豆]


4. 解压至VS2010安装目录下, 如上图所示.
   (你也可以自己从vs2010的目录内查找并拷贝至指定目录)
5. 下载自定义的 PlatformToolsets.zip 文件, 见
请点击此处下载

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

您的用户组是:游客

文件名称:PlatformToolsets.zip 
下载次数:156  文件大小:7.12 KB 
下载权限: 不限 以上  [免费赚D豆]


6. 解压至目录下: C:\Program Files\MSBuild\
   Microsoft.Cpp\v4.0\Platforms\Win32\PlatformToolsets\, 如图所示:


1.jpg


好了这样VS2010就配置完毕了.


接下来试用一下:
1. 用VS2010打开Arx2007的sample工程Smiley
2. 提示要转化工程, 点确定(这里建议勾选备份原来的工程).
3. 转好之后,打开工程属性,选择 Platform Toolset 为 vs2005_arx2007.8.9
4. 如果是mfc工程,需要做一些小修改, 如图所示:


2.jpg




5. 好了.编译!
6. 用Depends查看生成的arx文件, 可以看到它的依赖项已经变成vs2005的动态库了.

3.jpg

(本篇为柚子原创, 欢迎转载, 转载请注明"ObjectArx.net柚子"字样)
欢迎大家试用, 有任何问题联系顺子吧! (我是顺子)


------------------------------
附:各版本对应关系
AutoCAD(Arx)    Visual Studio   Net       PlatformSDK         
-------------------------------------------------------------
*               vs2010          v4.0      v7.1
Arx2010/11      vs2008(vc9)sp1  v3.5sp1   v7.0(v6.1.7600.16385)
Arx2007/8/9     vs2005(vc8)     v2.0      *                    
*               vs2003(vc7.1)   v1.1      *                    
Arx2004/5/6     vs2002(vc7)     v1.0      *                    
Arx2000/2002    vc6             *         *                    
Arx2.0/2.02     vc4.2           *         *
Arx1.0          vc4.0           *         *
--------------------------------------------------------------

end.
//2010,7,24补充
如果有这个错误:
程序数据库管理器不匹配;请检查安装

则可能的原因:
我的VCCommonBin是我的英文版下的.
而下载的VS2008sp1是中文版的.

解决方法:
到某台安装了vs2008的机器上拷贝和黏贴 VCCommonBin 和 VS2008SP1\bin下的同名文件覆盖即可.







评分

参与人数 1D豆 +2 收起 理由
SmallBlackCat + 2 好主题奖!

查看全部评分

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

使用道具 举报

已领礼包: 862个

财富等级: 财运亨通

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

使用道具 举报

已领礼包: 6468个

财富等级: 富甲天下

发表于 2013-7-19 22:23:31 | 显示全部楼层
VS2010安装成功,接下来准备入门学习了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

已领礼包: 21个

财富等级: 恭喜发财

发表于 2017-1-11 11:29:48 | 显示全部楼层
ArxObject开发平台太难弄了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 66个

财富等级: 招财进宝

发表于 2017-1-11 12:36:33 | 显示全部楼层
回的人少,我来小顶一下
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

发表于 2017-2-7 11:41:25 | 显示全部楼层
本帖最后由 liuzpzp007 于 2017-2-7 12:12 编辑

谢谢楼主,经过一番折腾,终于成功:
说一下过程:
#原来是Autocad2008+VS2005,想转为VS2010
#楼主的VS2005编译器链接已失效,我直接将安装在VS2005下的vc目录改名vc2005复制到vs2010下,
#按楼主教程重新设置项目属性,编译,出错,主要是rc.exe与cl.exe,解决方法:
  在系统属性的全局变量Path增加:
  C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Microsoft Visual Studio 10.0\VC2005\bin;
  C:\Program Files\Microsoft Visual Studio 10.0\VC2005\ce\bin\x86_arm
其实就是rc.exe与cl.exe的路径
#最后,改两处配置:
  配置属性->常规->目标文件扩展名:.arx
  配置属性->项目->调试增减autocad的安装路径:D:\Program Files\AutoCAD 2008\acad.exe

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

使用道具 举报

已领礼包: 28个

财富等级: 恭喜发财

发表于 2019-1-11 15:43:08 | 显示全部楼层
哎,楼主,链接挂了,我想找到vc2002即vc7的编译器。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 05:03 , Processed in 0.225288 second(s), 55 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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