AutoCAD ObjectARX 2021 在VS2022 中的环境基本设置流程

为了编译第一个.arx,摸索了大半晚,站里能搜到的都是比较老的版本,希望本人的经验对刚入门的同学有所帮助。

以下是这个测试编译的源码,其实就是 ObjectARX:Developer's Guide的第一个例子。

#include<rxregsvc.h>
#include<acutads.h>
#include<rxdefs.h>

//#include"pch.h"
// Simple acrxEntryPoint code. Normally intialization and cleanup
// (such as registering and removing commands) should be done here.
//
extern "C" AcRx::AppRetCode
acrxEntryPoint (AcRx::AppMsgCode msg, void* appId) {
    switch (msg) {
        case AcRx::kInitAppMsg:
            // Allow application to be unloaded
            // Without this statement, AutoCAD will
            // not allow the application to be unloaded
            // except on AutoCAD exit.
            //
            acrxUnlockApplication (appId);
            // Register application as MDI aware. 
            // Without this statement, AutoCAD will
            // switch to SDI mode when loading the
            // application.
            //
            acrxRegisterAppMDIAware (appId);
            acutPrintf (L"\nExample Application Loaded");
            break;
        case AcRx::kUnloadAppMsg:
            acutPrintf (L"\nExample Application Unloaded");
            break;
    }
    return AcRx::kRetOK;

DEF文件:

LIBRARY "me_arxdemo_a.arx"
EXPORTS
    acrxEntryPoint PRIVATE
    acrxGetApiVersion PRIVATE

以下是设置的大致流程

  • 1.创建项目时选“动态链接库 .dll”;
  • 2.配置属性→高级→高级属性→目标文件扩展名 改为 “.arx”
  • 3.配置属性→VC++目录→常规 “包含目录”添加 \inc 及 \inc-x64的目录;”库目录”添加 \lib-x64 的目录
  • 4.(可选项)C/C++→预处理器 预处理器定义项 可只保留”_USRDLL;%(PreprocessorDefinitions)”,同时 C/C++→代码生成 运行库项 改为 “多线程DLL(/MD)”

  • 5.C/C++→预编译头 “不使用预编译头”

  • 6.链接器→常规 输出文件 后缀改为.arx

  • 7.链接器→输入 附加依赖项 添加 \lib-x64 中需要的*.lib 同时指定模块定义文件(.def)的目录

不出意外,以上设置完成后即可完成动态库编译。

嗯,欢迎入坑~

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值