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"\nHello 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM