ObjectARX_for_AutoCAD_2022手动创建项目

打开VS2019,新建项目,选择MFC动态链接库。选择使用MFC扩展DLL

附加包含目录

选择项目属性->C/C++常规->附加包含目录,配置如下(路径根据实际修改):

附加库目录

选择项目属性->C/C++常规->附加包含目录,配置如下(路径根据实际修改):

附加依赖项

选择项目属性->链接器->常规->附加库目录,配置如下(路径根据实际修改):

附加依赖项

选择项目属性->链接器->输入->附加依赖项,填入以下库

accore.lib
acad.lib
acui24.lib
adui24.lib
acpal.lib
ac1st24.lib
acdb24.lib
acge24.lib
acgiapi.lib
acISMobj24.lib
rxapi.lib

删掉dllmain中的默认代码,写入如下初始代码:

// dllmain.cpp : 定义 DLL 应用程序的入口点。
#include "pch.h"
#include <aced.h>
#include <rxregsvc.h>

void loginCloudDwgServer();

void initApp()
{
	// 注册command
	acedRegCmds->addCommand(L"CLOUD", L"LoginCloudDwg", L"LoginCloudDwg", ACRX_CMD_TRANSPARENT, loginCloudDwgServer);
}

void unloadApp() {
	// 移除命令组
	acedRegCmds->removeGroup(L"CLOUD");
}


void loginCloudDwgServer() {
	// 功能入口,可以是界面程序或其他
	AfxMessageBox(L"云图登录");
}

extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)
{
	switch (msg)
	{

	case AcRx::kInitAppMsg://App插件初始化消息
	{
		acrxDynamicLinker->unlockApplication(pkt);
		acrxRegisterAppMDIAware(pkt);
		initApp();
		break;
	}
	case AcRx::kQuitMsg:// 推出消息
	case AcRx::kUnloadAppMsg://App插件卸载消息
	{
		unloadApp();
		break;
	}
	default:
		break;
	}

	return AcRx::kRetOK;
}

修改def文件

; cloudShareLoader.def: 声明 DLL 的模块参数。

LIBRARY	"cloudShareLoader"
EXPORTS
acrxEntryPoint PRIVATE

编译发现一个警告:

解决:def文件中没有加后缀,默认dll,实际我们生成文件为arx,我们修改def的library加上后缀即可。 

设置调试

在项目属性-> 调试->命令中加入cad的路径杰克。

 运行,appload加载arx,输入LoginCloudDwg。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我啥都会

如果觉得对您有帮助,打赏一下吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值