一、用VS2010 IDE 编译arx 2000~arx2011,只需要:
1、安装VS2010;
2、先去http://daffodil.codeplex.com/ 下载安装platform
toolset;
3、硬盘上有低版本的VS(VC6,VS2002,VS2003,VS2005,VS2008),这些低版本的VS无需安装版本,可以从别人安装的那儿复制过来。或者下载传说中的很多绿色版的VC编译器。
(非开发机器会因为编译的的环境不同需要安装不同的运行环境VC
++ Redistribute
否则会出现ARX文件无法加载的问题) 主要是VS2005时代对应的AutoCAD
2007-2009版本, VS 2008 SP1是必须的AutoCAD
2010时就使用了。
v8
=> vs2005 vs2005sp1 vs2005sp2
=> VC
2005++ / 2005 sp1 /
2005sp2 Redistribute
v9
=> vs2008
vs2008sp1 => VC
2008++ / 2008 sp1
Redistribute
v10
=> vs2010
vs2010sp1 => VC
2010++ / 2010 sp1
Redistribute
4、一般绿色编译器都会有个注册表文件,将绿色编译器放到需要的目录,记录下来,替换注册表中的路径即可 ;
(绿色版的关键步骤)
如果在之前已经坑爹的装了很多版本就不需要3、4步骤了,这个就是写入注册表一些记录告诉IDE去哪找这些文件。
到这里得到的好处就是,在一个新的电脑下,或者重装系统后,无需再装VC6,VS2002,VS2003,VS2005,VS2008,安装这些低版本VS是个很痛苦无聊的过程,修改导入注册表的过程就相当于安装过程了,省去了很多麻烦,相当于绿色版本。
编译时切换"属性" -> "配置属性"
-> "常规" ->
"平台工具集"
由于很多人提“实现了用VS2010 IDE 编译arx
2000~arx2011”感觉很迷惑,这个只是解决编译环境安装方便的问题。少打开几个编译环境。不同的版本ARX的编译要安装相应的ObjectARX
编译时设置对应的inc lib目录,编译。 感觉这点不是很大的便宜,
或者我理解有偏差? 编译设置ObjectARX inc lib有更好的方法? 请熟悉的指导 自定义VS2010项目文件vcxproj动态管理inc lib
二、一些错误的原因:
1、错误提示:VS2008编译错误fatal error C1902:
程序数据库管理器不匹配;请检查安装解决
原因:
这个是绿色版不完美的原因,cl运行需要mspdb80.dll但是其他工程需要.pdb;
mspdbsrv.exe 或 mspdbcore.dll 丢失或者其版本和
mspdb80.dll 的版本不同
解决:
本来如果是cl或者dumpbin需要mspdb80.dll从bin中删掉,
但是是为了兼容绿色编译,就整更多的文件过来到。C:\Program
Files\Microsoft Visual Studio 9.0\Common7\IDE下面拷贝mspdbsrv.exe
mspdb80.dll mspdbcore.dll 到C:\Program Files\Microsoft Visual Studio
9.0\VC\bin下面,重启VS即可。当然没有安装的去下载或者别的机器上拷贝。
2、错误提示:fatal
error C1083: 无法打开包括文件:“type_traits”: No such file or
directory
原因:
type_traits 是C++标准TR1
header微软的实现(其是买的其他公司的一个stl版本) ; 这个是在VS2008 SP1后出现;
AutoCAD2010开始就用的VS2008 SP1
开发的,提供的ObjectARX引用了这个头文件。所以老版本的ARX需要用对于版本的ObjectARX inc
lib
文件编译。
解决:
找个VS 2008 SP1 的绿色版编译才是安全的解决;
如果用了VS 2008
或者替换SP1的include头文件也可
加载中,请稍候......