• 也谈vs2010手工新建ObjectARX2013项目


    新建MFC Dll项目,设置项目名称和保存位置.

    默认即可

    解决方案右键项目属性

    修改目标扩展名为.arx,注意当前平台为win32

    修改md模式

    修改_DEBUG预定义为_NDEBUG

    添加包含目录,当前win32添加 inc和inc-win32目录

    添加库目录,lib-win32

    选择链接器,常规,选择输出路径,右键复制

    修改调试,命令为cad的exe路径,命令参数为小写的LD+ 复制的输出地址 /ld "$(OutDir)$(TargetName)$(TargetExt)"

    保存修改后打开afxStd.h文件.末尾添加 #include "arxheaders.h"

    新建一个cpp文件.


    粘贴如下helloWorld代码

    #include "stdafx.h" 
    // #include <aced.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 
    

    尝试编译,编译成功

    配置x64版本.

    右键项目属性,当前只有win32平台

    选择配置管理器,选择新建x64平台


    更改包含目录为inc-x64

    更改库目录为lib-x64

    重新编译 确保编译平台为x64


    启动调试,正常情况会启动cad,会自动加载了arx.


    输入命令hello,成功输出helloworld

  • 相关阅读:
    20155217 2016-2017-2《java程序设计》第一周学习总结
    20155217杨笛-安装虚拟机
    20155217-杨笛-c与java
    我所期望的师生关系
    jQ学习之实现全选全不选操作
    jQ学习之实现表格的隔行换色
    jQ学习之过滤选择器的测试
    jQ学习之层级选择器的测试
    jQ学习之基础选择器的测试
    jQ学习之实现图片的定时弹出
  • 原文地址:https://www.cnblogs.com/edata/p/14757953.html
Copyright © 2020-2023  润新知