本次配置环境建立工程所用的软件
- VS 2017
- Windows SDK 10.0.17763.0
- ARX 2019(inc/lib)
- AutoCAD 2020
ObjectARX应用程序是一个DLL(动态链接库),共享AutoCAD的地址空间,对AutoCAD进行直接函数调用,但是ObjectARX模块使用.arx或者.dbx扩展名而不是更为通用的.dll。
使用MFC来创建丰富的界面,ObjectARX一般是MFC扩展DLL。
步骤:
- 打开vs,新建项目,选择Visual C++ → MFC → MFC动态链接库,设置项目名称和项目路径,然后点击确定进入下一步
- DLL类型选择MFC扩展DLL
- 接下来只需配置好ARX的目录,能让VS能够在编辑和编译过程中找到相关文件,点击菜单栏 → 项目 → 属性
- 在配置目录之前,先更改文件扩展名,在属性页面的配置属性 → 常规 → 目标文件扩展名
- 注意你的开发目标平台是x64还是win32,编译模式是Debug还是Release,属性配置是按平台和模式是相对应的,需要单独给不同的平台和模式进行属性配置,也可以通过宏定义来一次性给所有平台进行一次性配置。
- ARX需要配置.h头文件的目录和静态链接库lib文件的目录
- 在属性页面中点击VC++目录,编辑包含目录,添加ARX inc路径,inc路径可以通过本机的ARX所在位置找到,这里可以看到有三个inc文件夹,先添加inc文件夹的路径,然后根据目标平台来选择inc-x64或inc。可以添加到VC++目录下的包含目录,也可以添加到C/C++ → 中的附加包含目录中。
- 添加lib目录路径,可以在VC++目录中的库目录中添加,也可以在链接器 → 常规 → 附加库目录中添加,这两个地方的区别只在于编译时系统搜索的先后顺序不同。x64平台选择lib-x64,为win32平台选择lib
- 然后需要导入lib,在属性配置页面 → 链接器 → 输入 → 附加依赖项中,添加lib文件名,我的方法是将lib目录下的所有lib全部输入,也可以根据需要来选择需要的lib
- 在源文件中添加def文件,修改文件名与项目名一致
; arxproj.def : 声明 DLL 的模块参数。LIBRARY “arxtrain.arx”EXPORTS
acrxEntryPoint PRIVATE
acrxGetApiVersion PRIVATE - 然后就可以实现入口函数,编写命令了

发表回复