arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面

一 首先安装好vs05 vs10与cad2008

二 下载ObjectArx SDK

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面
相关资料下载地址:

2019的地址
http://adndevblog.typepad.com/autocad/2018/04/autocad-2019-objectarx-and-net-wizards-.html
http://download.autodesk.com/esd/objectarx/2019/Autodesk_ObjectARX_2019_Win_64_and_32_Bit.sfx.exe

包括ARX2017和Wizard2017.
http://usa.autodesk.com/adsk/servlet/index?id=1911627&siteID=123112

2017(32和64位版本)
http://download.autodesk.com/esd/objectarx/2017/Autodesk_ObjectARX_2017_Win_64_and_32_Bit.sfx.exe

2016(32和64位版本)
http://download.autodesk.com/esd/objectarx/2016/Autodesk_ObjectARX_2016_Win_64_and_32_Bit.exe

2015(32和64位版本)
http://download.autodesk.com/esd/objectarx/2015/Autodesk_ObjectARX_2015_Win_64_and_32_Bit.exe

2014(32位和64位版本) 
http://download.autodesk.com/esd/objectarx/2014/Autodesk_ObjectARX_2014_Win_64_and_32Bit.sfx.exe
http://download.autodesk.com/esd/objectarx/2014/Autodesk_ObjectARX_2014_Documentation.sfx.exe

2013(32位和64位版本) 
http://download.autodesk.com/esd/objectarx/2013/ObjectARX_2013_Win_64_and_32Bit.exe
http://download.autodesk.com/esd/objectarx/2013/ObjectARX_2013_Documentation.exe

2012(32位和64位版本)
http://download.autodesk.com/esd/objectarx/2012/ObjectARX_2012_Win_64_and_32Bit.exe

2011(32位和64位版本)
http://download.autodesk.com/esd/objectarx/2011/ObjectARX_2011_Win_64_and_32Bit.exe

2010(32位和64位版本)
http://download.autodesk.com/akdlm/esd/dlm/objectarx/ObjectARX_2010_Win_64_and_32Bit.exe
2009(32位和64位版本)
http://download.autodesk.com/esd/objectarx/2009/ObjectARX_2009_Win_64_and_32Bit.exe
2008
32位版本:
http://download.autodesk.com/esd/objectarx/2008/ObjectARX_2008_32Bit.exe
64位版本:
http://download.autodesk.com/esd/objectarx/2008/ObjectARX_2008_64Bit.exe
2007 -Core 
http://download.autodesk.com/esd/objectarx/2007/Arx_Core.exe 
-SDK 
http://download.autodesk.com/esd/objectarx/2007/Arx_All.exe 
2006 -Core 
http://download.autodesk.com/WebPub/autocad/oarx2006/Arx_Core.exe 
-SDK 
http://download.autodesk.com/WebPub/autocad/oarx2006/Arx_All.exe
2005 -Core 
http://download.autodesk.com/WebPub/Developer/autocad/Arx_Core2005.exe 
-SDK 
http://download.autodesk.com/WebPub/Developer/autocad/Arx_All2005.exe 
2004 -Core 
http://download.autodesk.com/WebPub/autocad/oarx/arx_core.exe 
-SDK 
http://download.autodesk.com/WebPub/autocad/oarx/arx_sdk.exe 
2002 -Core 
http://download.autodesk.com/pub/objectarx/objectarx_2002/K030.arx.plus.core.zip 
-SDK 
http://download.autodesk.com/pub/objectarx/objectarx_2002/K030.arx.plus.all.zip 
2000 -Core 
http://download.autodesk.com/pub/objectarx/ObjectArxCore.exe 
-SDK 
http://download.autodesk.com/pub/objectarx/ObjectArxSDK.exe 
R14 -SDK 
http://download.autodesk.com/Pub/developer/sdk/obarxsdk.exe
View Code

三 安装ObjectArx 2008

先做一个.reg 注册表文件,加入下面的语句,然后运行这个注册表

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Msi.Package\shell\runas]
@="以管理员运行"
[HKEY_CLASSES_ROOT\Msi.Package\shell\runas\command]
@="msiexec /i \"%1\""

 

然后打开C:\ObjectARX 2008\utils\ObjARXWiz目录(其他高版本的SDK要另外下载这个向导的)

再右键管理员模式运行ArxWizards.msi

 

这样在新建C++项目的时候会出现ObjectARX项目,如果新建出错,也就是你没有按照上面修改注册表安装.

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面  

 arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面

这些是当前的项目设置:
您注册的开发人员符号:
纯ObjectARX应用程序
没有MFC支持
不是COM服务器
不是.NET混合管理模块
从任何窗口单击完成以接受当前设置。
创建项目后,请参阅项目的readme.txt文件,了解有关生成的项目功能和文件的信息。
实现_DEBUG预处理器符号
选择此选项可在调试项目配置中定义预处理器符号_DEBUG。 如果选择此选项,向导将在StdAfx.h中创建通常的_DEBUG解决方法,但在定义此符号时,不应包含Microsoft / Autodesk头。

输入你喜欢的前缀,然后是不是DEBUG.我先不勾

  

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面 

项目类型:
ObjeCtARX(AutoCAD扩展名)
选择此选项可创建标准的ObjectARX应用程序
以便在AutoCAD中加载AutoCAD项目。

ObjectDBX(自定义对象启用程序)
选择此选项可创建标准的ObjectDBX自定义对象启用程序应用程序。
自定义对象启用码应用程序定义自定义对象和自定义实体可以加载到所有RealDWG主机应用程序中,
如AutoCAD/VoloView

第一个功能就是普通的功能,第二个是自定义图元用的.先用第一个入门吧.

 

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面 

附加SDK:
OMF应用程序支持
选择此选项将强制向导创建OMF符合规范。
OMF 5.0版
OMF 5.x系列

地图API支持
选择此选项将强制向导包含映射标题和库。
地图2007 SDK
地图Spago SDK

都不选,下一步

 

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面

MFC支持:
无MFC支持
具有静态链接的MFC的常规DLL。
使用MFC共享DLL的常规DLL
使用MFC共享DLL的扩展DLL(建议用于MFC支持)
团AutoCAD MFC扩展支持

  MFC就是微软画面板的支持,所以要打钩. 

 

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面 

COM服务器选项:

不是COM服务器:
实现COM服务器
   使用ATL实现COM服务器(推荐)
     对自定义对象使用ObjeCtARX AIL扩展

COM客户端选项:
导入QbjectDBX COM接口
导入AutoCAD COM接口

为了获取cad变量方便,导入cad的com接口. 

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面 

 对.net的支持,我虽然有net工程,但是这步我先不勾,日后再看看怎么改支持.

这样就可以了,按Finish完成.

按道理来说,现在你可以直接生成文件验证配置是否正确.....

 

添加命令:

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面

 

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面

 

右击,添加命令,一般来说改名称就好了.

然后在入口点  acrxEntryPoint.cpp  可以看见加入的命令.

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面

  其实那个a>的添加命令就是添加了这几句而已,可能是因为宏难找的原因吧......再添加一个试试吧.. 

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面

 嘿嘿.然后再试试复制粘贴,再看看a>内是不是有?所以可以摆脱用a>了呢!

 

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面

然后去测试生成的arx是不是正常.

 

加入警告语句:  

AfxMessageBox(_T("this is a test command0."));

然后到这个的项目文件夹(属性窗口下面就有) win32\debug目录中找到.arx拖入CAD2008,或ap加载.再输入自己的命令testcmd就能运行了。

注意一下vs很奇葩的设置是它有很多win32,x64的文件夹,因为微软就是那么奇葩...具体可能要了解一下vs的宏命令,设置输出的路径.

但是你找找就能知道.arx在哪个win32了.

到此为止,vs2005的arx工程就算是OJBK了..

  

移植到vs2010:

先安装一个Daffodil.ENU详情看下面两篇e大的文章.

也谈ObjectARX多版本批量编译

再谈VS2010编译更高平台vs2012(v110),vs2015(v140)的objectARX程序

用vs2010打开刚刚的vs2005工程,选择更新; 

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面

  

 右击工程属性,所有配置,所有平台

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面

 

1:选择v80工具集(没有的话,说明你没有看e大的文章)

2:如果没有配置后缀名,会出现这样错误,修改你的生成后缀名[配置属性]/[常规]/[目标拓展名]:arx 

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetPath
(D:\桌面\JJBoxArx2008\Win32\Debug\JJBoxArx2008.dll) 与 Linker 的 OutputFile 属性值(D:\桌面\JJBoxArx2008\Win32\Debug\JJBJJBoxArx2008.arx)不匹配。
这可能导致项目生成不正确。若要更正此问题,请确保 $(OutDir)、$(TargetName) 和 $(TargetExt) 属性值与 %(Link.OutputFile) 中指定的值匹配。

 

[配置属性]/[C/C++]/[附加包含目录]: D:\ObjectARX 2008\inc  你的SKD路径

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面

  

找不到.lib要添加这里路径

[配置属性]/[链接器]/[常规]/[附加库目录]: D:\ObjectARX 2008\lib  你的SKD路径

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面

 

否则出现 LNK1104: 无法打开文件

[链接器]/[输入]/[附加依赖项]  

(注意一下,vs2005写法)
rxapi.lib acdb17.lib acge17.lib acad.lib acedapi.lib 
(注意一下,vs2010写法)
rxapi.lib;acdb17.lib;acge17.lib;acad.lib;acedapi.lib 

还是无法打开的话

vs2005就去看看[工具]/[选项]/[项目和解决方案]/[ vc++目录]

vs2010就去看看右击项目配置属性/[ vc++目录] 

包含文件/包含目录 加入  D:\ObjectARX 2008\inc

库文件/库目录         加入  D:\ObjectARX 2008\lib

 

错误 error C1083: 无法打开包括文件:“map”: No such file or directory  

用于“编辑并继续”的程序数据库 (/ZI)
设为空,删除->  公共语言运行时支持 (/clr)
启用c++异常    是 (/EHsc)
基本运行时检查->默认值
调用约定写入->    __cdecl (/Gd)

 

三、包含文件 这个做法在vs2010已经没有了, [工具]/[选项]/[项目和解决方案]/[VC++目录],如图所示:

包含文件(添加图中前两个目录即可)

D:\ObjectARX 2008\inc
D:\ObjectARX 2008\utils\brep\inc

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面

 

库文件

D:\ObjectARX 2008\lib
D:\ObjectARX 2008\utils\brep\lib

arx配置专篇1.Win10环境配置vs2005+arx2008再移植到vs2010上面

 

上一篇:转型之路书籍


下一篇:基于ObjectArx的AutoCAD二次开发的基础入门