手动配置ObjectARX开发环境

896 阅读2分钟

手动配置ObjectARX开发环境

概述

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

具体配置流程

首先准备 ObjectARX2012 vs2010

  1. 新建一个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

如果觉得对你有帮助,可以给我点赞哦!下期持续更新中…