也談vs2017手工新建ObjectARX2019項目


新建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點是

正常情況下回啟動cad,自動加載arx,輸入命令hello,helloworld成功


免責聲明!

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



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