• 也谈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("
    Hello 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

  • 相关阅读:
    浅析CString内部实现机制
    ...sourceannotations.h(142) : error C3094: “repeatable”: 不允许匿名使用
    非MFC项目使用CString及如何打印
    GetTextExtentPoint32--获取字符串在屏幕上长度
    窄字符与宽字符相关的操作
    如何给图片添加黑色边框
    react native
    礼仪 习俗 文化
    职业 行业 2 博客
    读书 文摘 笔记 2 人生的支柱
  • 原文地址:https://www.cnblogs.com/edata/p/14757782.html
Copyright © 2020-2023  润新知