新建MFC Dll项目,设置项目名称和保存位置.
默认即可
解决方案右键项目属性
修改目标扩展名为.arx,注意当前平台为win32
添加包含目录,当前win32添加 inc和inc-win32目录
添加库目录,lib-win32
选择链接器,常规,选择输出路径,右键复制
修改调试,命令为cad的exe路径,命令参数为小写的LD+ 复制的输出地址 /ld "$(OutDir)$(TargetName)$(TargetExt)"
新建一个cpp文件.
粘贴如下helloWorld代码
#include "stdafx.h"
// #include <aced.h>
// #include <rxregsvc.h>
void initApp();
void unloadApp();
void helloWorld();
void initApp()
{
// register a command with the AutoCAD command mechanism
acedRegCmds->addCommand(_T("HELLOWORLD_COMMANDS"),
_T("Hello"),
_T("Bonjour"),
ACRX_CMD_TRANSPARENT,
helloWorld);
}
void unloadApp()
{
acedRegCmds->removeGroup(_T("HELLOWORLD_COMMANDS"));
}
void helloWorld()
{
acutPrintf(_T("\nHello World!")); //实现本程序的具体功能
}
extern "C" AcRx::AppRetCode
acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)
{
switch (msg)
{
case AcRx::kInitAppMsg:
acrxDynamicLinker->unlockApplication(pkt);
acrxRegisterAppMDIAware(pkt);
initApp();
break;
case AcRx::kUnloadAppMsg:
unloadApp();
break;
default:
break;
}
return AcRx::kRetOK;
}
打开def文件.加入如下代码
acrxEntryPoint PRIVATE
acrxGetApiVersion PRIVATE
尝试编译,编译成功
配置x64版本.
右键项目属性,当前只有win32平台
选择配置管理器,选择新建x64平台
更改包含目录为inc-x64
更改库目录为lib-x64
重新编译 确保编译平台为x64
启动调试,正常情况会启动cad,会自动加载了arx.
输入命令hello,成功输出helloworld