• ObjectARX2018+AutoCAD2018+VS2015开发环境配置


    https://blog.csdn.net/qq_40416052/article/details/85273756

    骤一、开发工具准备

    1.Visual Studio 2015 下载含(更新3)及密钥:http://blog.postcha.com/read/66 (下载社区版即可)

    Visual Studio 2015安装步骤:https://jingyan.baidu.com/article/c45ad29c223421051753e23a.html

    2.ObjectARXWizards.msi 2018 下载地址:https://pan.baidu.com/s/1fKIc4xp6K3M_a7ayvl10Ug

    3.Autodesk_ObjectARX_2018_Win_64_and_32_Bit.sfx.exe 2018 SDK 下载地址:https://pan.baidu.com/s/1ktGYjzC5CILxp6Ppc9qxRA

    4.AutoCAD 2018下载地址:https://pan.baidu.com/s/1MxPgMHCOQ192u3VS_2Hp5w

    步骤二、手动创建ObjectARX程序

    这一步不是必要的,也可以直接跳到步骤三,但是步骤三需要添加步骤二的链接库和引用等。

    1.创建win32项目

    2.配置属性

    3.VC++目录

    1)include目录

    2)lib库目录

    3)C/C++->代码生成

    代码生成设置,链接库:多线程DLL(/MD) ,如果没有这个选项,看vs2008中项目属性中没有C/C++选项,也可以先不理会这一项,C/C++-这个选项在后面创建并运行cpp项目才会出现。

    4)附加依赖项

    rxapi.lib;acdb22.lib;acge22.lib;acad.lib;ac1st22.lib;accore.lib

    编译程序:

      

    4.添加cpp文件

    Hello.cpp添加代码:

    #include <aced.h>
    #include <rxregsvc.h>
    #include "stdafx.h"

    void InitApp();
    void UnloadApp();

    void HelloWorld();

    void InitApp()
    {
    acedRegCmds->addCommand(L"Hello1", L"Hello", L"Hello", ACRX_CMD_MODAL, HelloWorld);
    }

    void UnloadApp()
    {
    acedRegCmds->removeGroup(L"Hello1");
    }

    void HelloWorld()
    {
    acutPrintf(L" Hello World!");
    }

    extern "C" AcRx::AppRetCode
    acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt) {
    switch (msg)
    {
    case AcRx::kNullMsg:
    break;
    case AcRx::kInitAppMsg:
    acrxDynamicLinker->unlockApplication(pkt);
    acrxRegisterAppMDIAware(pkt);
    InitApp();
    break;
    case AcRx::kUnloadAppMsg:
    UnloadApp();
    break;
    case AcRx::kLoadDwgMsg:
    break;
    case AcRx::kUnloadDwgMsg:
    break;
    case AcRx::kInvkSubrMsg:
    break;

    case AcRx::kCfgMsg:
    break;
    case AcRx::kEndMsg:
    break;
    case AcRx::kQuitMsg:
    break;
    case AcRx::kSaveMsg:
    break;
    case AcRx::kDependencyMsg:
    break;

    case AcRx::kNoDependencyMsg:
    break;

    case AcRx::kOleUnloadAppMsg:
    break;
    case AcRx::kPreQuitMsg:
    break;
    case AcRx::kInitDialogMsg:
    break;
    case AcRx::kEndDialogMsg:
    break;
    case AcRx::kSuspendMsg:
    break;

    case AcRx::kInitTabGroupMsg:
    break;
    case AcRx::kEndTabGroupMsg:
    break;

    default:
    break;
    }
    return AcRx::kRetOK;
    }
     此时,编译cpp项目!

    然后,

    链接中的附加库:

    添加模块定义文件:

    Hello.def添加代码:

    LIBRARY Hello1
    DESCRIPTION "First ARX Application"

    EXPORTS
    acrxEntryPoint PRIVATE
    acrxGetApiVersion PRIVATE
    添加stdafx.cpp和stdafx.h文件:

     stdafx.h添加代码:

    #pragma once

    #define WIN32_LEAN_AND_MEAN

    #include <Windows.h>
    #include "tchar.h"
     stdafx.cpp添加代码:

    #include "stdafx.h"
    添加入口函数:

    Hello1添加代码:

    #include "stdafx.h"
    BOOL APIENTRY DLLMain(HANDLE hModule,
    DWORD ul_reason_for_call,
    LPVOID lpReserved)
    {
    return TRUE;
    }
     编译程序,通过!

    三、手动创建ARX HelloWorld程序

    1.AutoCAD ObjectARX 2018本身有bug,需要对两个文件进行修改

    可参考文章:VC++开发AutoCAD 2018/objectARX 用向导新建项目无法新建的问题

    1)将文档中有2017的地方替换成2018

    使用搜索软件"火萤酱"找到文件:

    2) 第一个文件

    3.)第二个文件

    2.创建ARX项目:

    其他选项默认即可。 

    编译,出现错误:

    解决error:

    解决warning:

    编译:

    输入命令:MYCOMMANDLOCAL

     
    ————————————————
    版权声明:本文为CSDN博主「Civil跨界工程师」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/qq_40416052/article/details/85273756

  • 相关阅读:
    .Net Core AOP之IResultFilter
    .Net Core AOP之IExceptionFilter
    Linux部署.Net Core应用
    .Net Core Aop之IActionFilter
    计算虚拟化技术
    正则表达式通配符 ? 和 * 的区别
    linux中rar文件的压缩、解压
    linux 系统中 双引号“”和单引号‘’转义的区别
    linux 中find命令的用法
    ubuntu中出现:passwd: unrecognized option 'stdin'
  • 原文地址:https://www.cnblogs.com/mjgw/p/12347979.html
Copyright © 2020-2023  润新知