條件准備 ARXSDK 和 VS2019(要選擇安裝c++,mfc,windows10SDK) 略過!
ARXSDK可以參考 https://www.cnblogs.com/edata/p/14243995.html
VS2019自行解決.
新建mfc動態鏈接庫

輸入項目名稱和項目保存位置

默認使用共享mfc dll即可

解決方案資源管理中選擇項目右鍵屬性,更改平台為x64.

高級 高級屬性改目標擴展名為arx

添加ARXSDK包含目錄.

添加ARXSDK庫目錄

切換當前編譯平台為x64,選擇pch.h頭文件,添加 #include "arxheaders.h"

添加一個cpp文件

在cpp文件中寫入如下helloword代碼.
#include "pch.h"
//#include "stdafx.h" //vs2019默認預定頭文件的名稱變為pch.h
// #include <aced.h> //arxheaders.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
生成解決方案

提示成功

重新打開項目屬性,找到鏈接器的常規選項,選擇輸出文件的文字,復制.

修改調試選項的命令為cad的exe路徑.命令參數為,注意是小寫的LD+剛剛復制的連接器輸出文字路徑 /ld "$(OutDir)$(TargetName)$(TargetExt)"

開始調試


正常情況下會啟動cad,並會自動加載arx.輸入命令即可執行hellowold

