也談vs2019手工新建ObjectARX2021項目


條件准備 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM