天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 70|回复: 0

也谈VS2019手工新建ObjectARX2021项目

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
条件准备 ARXSDK 和 VS2019(要选择安装c++,mfc,windows10SDK) 略过!
ARXSDK可以参考 [url]https://www.cnblogs.com/edata/p/14243995.html[/url]
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

 

 

 

 

也谈VS2019手工新建ObjectARX2021项目
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

GMT+8, 2024-11-1 13:23 , Processed in 0.155865 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表