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

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

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

#include
#include
#include

//#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” AutoCAD ObjectARX 2021 在VS2022 中的环境基本设置流程_第1张图片
  • 3.配置属性→VC++目录→常规 “包含目录”添加 \inc 及 \inc-x64的目录;”库目录”添加 \lib-x64 的目录AutoCAD ObjectARX 2021 在VS2022 中的环境基本设置流程_第2张图片
  • 4.(可选项)C/C++→预处理器 预处理器定义项 可只保留”_USRDLL;%(PreprocessorDefinitions)”,同时 C/C++→代码生成 运行库项 改为 “多线程DLL(/MD)”

AutoCAD ObjectARX 2021 在VS2022 中的环境基本设置流程_第3张图片

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

AutoCAD ObjectARX 2021 在VS2022 中的环境基本设置流程_第4张图片

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

AutoCAD ObjectARX 2021 在VS2022 中的环境基本设置流程_第5张图片

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

AutoCAD ObjectARX 2021 在VS2022 中的环境基本设置流程_第6张图片

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

嗯,欢迎入坑~

你可能感兴趣的:(CAD,ObjectARX,二次开发,visualstudio,c++)