新建MFC Dll項目
選擇使用共享MFC
右鍵項目屬性
選擇所有配置,所有平台,修改目標擴展名為.arx
選擇調試,在命令中瀏覽或編輯acadexe路徑
選擇鏈接器 ,找到輸出文件地址,復制備用
回到調試在命名參數添加小寫/LD+輸出文件路徑 /ld "$(OutDir)$(TargetName)$(TargetExt)"
應用設置
配置Win32平台,
保存選擇所有配置不變,平台改為win32,選擇c++目錄,添加包含ARXSDK路徑
添加庫目錄
應用設置
配置x64平台
保存選擇所有配置不變,平台改為x64,選擇c++目錄添加ARXSDK路徑
添加庫目錄,應用設置,
修改添加代碼
打開afxStd.h文件,添加include #include "arxheaders.h"
打開def文件,添加
acrxEntryPoint PRIVATE
acrxGetApiVersion PRIVATE
新建cpp文件
粘貼如下代碼
#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;
}
編譯生成測試成功。
根據cad版本,這里是64位cad,需要更改平台為x64
開始調試
提示點是
調試acad點是