手动配置ObjectARX开发环境
概述
手动创建一个ARX应用程序:C++开发ARX应用程序,实际上我们ARX应用程序就是一个动态链接库,它的后缀只是没用.DLL来表示而已,是用.ARX 来表示的。与常规的DLL程序一样,ARX程序在AUTOCAD调用时加载,与AUTOCAD本身的代码是相互独立的。
设置编译器的参数,包括代码的生成方式。
设置连接器的参数,包括输出文件的名称,添加链接库文件等。
新建一个DLL文件,引用ARX API的头文件和库文件,然后设置编译器参数和连接器参数。将生成文件的后缀改为“.DLL”文件即可。在代码里面创建两个函数分别用户初始化和卸载ARX程序。 void InitApp(); void UnloadApp();
具体配置流程
首先准备 ObjectARX2012 vs2010
- 新建一个Win32项目,并给项目一个名字,“ArxHello”

2.创建完项目后,配置项目, 选择项目属性 --- 修改属性 输出的扩展名
3.在 “VC++”目录下选择“库目录”,添加ObjectArx库目录
4.c/c++ 附加包含路径,
然后添加一个 def文件 和一个 cpp文件,设置编译
5.在ArxHello.cpp 中输入
#include <rxregsvc.h>
#include <aced.h>
void InitApp();
void UnloadApp();
void Hello();
void InitApp()
{
acedRegCmds->addCommand(L"Hello_Command",L"HELLO",L"您好",ACRX_CMD_TRANSPARENT,Hello);
}
void UnloadApp()
{
acedRegCmds->removeGroup(L"Hello_Command");
}
void Hello()
{
acutPrintf(L"\nHello,ObjectARX.");
}
extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg,void* pkt)
{
switch(msg)
{
case AcRx::kInitAppMsg:
acrxDynamicLinker->unlockApplication(pkt);
acrxDynamicLinker->registerAppMDIAware(pkt);
InitApp();
break;
case AcRx::kUnloadAppMsg:
UnloadApp();
break;
}
return AcRx::kRetOK;
}
6.在 def 中 输入
LIBRARY ArxHello
EXPORTS
acrxEntryPoint PRIVATE
acrxGetApiVersion PRIVATE
如果觉得对你有帮助,可以给我点赞哦!下期持续更新中…