objectARX二次开发的时候,经常会用到一些重复使用的类,如果类已经足够的好,那么我们可以编译成静态库,加快开发和编译的速度,提高工作效率。

环境vs2010+objectARX2012wizard,以及各种编译器平台,我这里主要是用v90 编译器平台。

下面就开始添加一个win32项目。

在win32应用程序向导中,我们下一步,直接勾选静态库,MFC和预编译头。

项目新建后,设置项目属性。

在c/c++选项的预处理器中,我们这里删除_DEBUG,因为这个“预定义"可能会影响一些类的问题,这个因人而异。不一定按此操作

在代码生成这个选项中,将运行库改为多线程dll(/md)模式,保持和arx配置相同。

然后在stdAfx.h头文件中添加arx的头文件 arxheaders.h (这个是关键,他包含了大多数arx头文件,以及lib库,dll导出等)

 由于新建的win32项目没有x64平台,我们在配置好win32的基本属性后,需要新建一个x64平台
 
 

新建完成后,修改c++的预处理器的预定义win32为_WIN64

如果你的vs没有指定默认的包含和库目录,那么需要在这个vc++目录中添加包含目录和库目录,就如同arx配置中一样。我这里是通过其他方式添加的。

因为我是打算在v90(vs2008平台)平台编译,所以这个编译器平台需要改到v90

然后我们就可以添加以前写的类文件了。类文件一般是头文件和cpp实现文件,我们可以从以前的项目中获得。。

正常情况下,可以编译成功的。。

自己的arx静态库基本就做好了。。

下面我们来简单测试下。

新建一个arx工程,或者用现有的工程也行。。vc平台要和lib库的平台一致,debug或者release也要一致。

在需要调用静态库的cpp文件中我们包含需要的头文件和定义调用库文件。。

比如

我这里没有写路径,所以要在vc++目录中指定这两个文件的路径,如同arx一样。

下面我们就可以使用静态库中的类了。。

正常情况下,可以编译完成。。

加载完成后运行命令,结果正常。

以上就是objectARX制作属于自己的静态库的基本方式,通过这样的方式,我们就可以建立属于自己的arx库。

我们还可以做得更好,比如,我们有很多个类,总不能每一个类都要去写包含和调用库。

实际上我们可以学习arx的方式,写一个myarxlibheaders.h

把所有自己库的头文件包含进去,把lib调用也加入到其中,通过vc版本号的不同,调用不同的库。。release或者debug。

ObjectARX二次开发创建自己的静态库,如同objectARX库一样的更多相关文章

  1. 2、Arx二次开发创建第一个应用程序

    一.本节课程 Arx二次开发创建第一个应用程序 二.本节要讲解的知识点 1.手动创建ARX的应用的步骤. 2.应用向导创建ARX应用程序的步骤. 三.具体内容 1.需求:创建一个Hello World ...

  2. C#/AutoCAD 2018/ObjectArx/二次开发添加圆对象的的例子(五)

    C#/AutoCAD 2018/ObjectArx/二次开发添加圆对象的的例子(五) 1.创建一个图形对象的步骤如下见上一篇博客(三)2.添加删除实体的工具函数见上一篇博客(四) 3.添加圆的例子(完 ...

  3. C#/AutoCAD 2018/ObjectArx/二次开发添加删除实体的工具函数(四)

    1.添加删除实体 C# ObjectARX二次开发添加删除实体是非常容易主要代码如下: 添加实体: objId = btr.AppendEntity(entity); trans.AddNewlyCr ...

  4. c++ Arx二次开发创建椭圆和样条曲线

    一.本节课程 c++ Arx二次开发创建椭圆和样条曲线 二.本节要讲解的知识点 1.如何应用C++ ARX二次开发创建椭圆(对AcDbEllipse类的构造函数的直接封装和根据外接矩形来创建椭圆) 2 ...

  5. 4、c++ Arx二次开发创建多段线

    一.本节课程 c++ Arx二次开发创建多段线 二.本节要讲解的知识点 如何应用C++ ARX二次开发创建多段线(AcDbPolyline.AcDb2dPolyLine.AcDb3dPolyline的 ...

  6. Civil 3D 二次开发 创建Civil 3D 对象—— 01 —— 创建几何空间点

    这一小节,我们创建派生于CivilCreateEntityDemo的类CivilCreateCogoPoint,来创建几何空间点. 1 创建类并添加字段及方法 首先在项目资源管理器中向本项目中添加类, ...

  7. C#/AutoCAD 2018/ObjectArx/二次开发添加图形对象步骤和添加直线的例子(三)

    1.创建一个图形对象的步骤如下(1)得到创建对象的图形数据库:(2)在内存中创建实体类的一个对象:(3)定义一个指向当前数据库的事务处理:(4)打开图形数据库的块表:(5)打开一个存储实体的块表记录( ...

  8. Civil 3D 二次开发 创建AutoCAD对象—— 00 ——

    不积跬步无以至千里,不积小流无以成江海.虽然创建一条直线.添加一个图层这样的小程序没有什么实际意义(内部命令很简单就可以完成),但对于初学二次开发的您来说,这可是一大步,这一步跨出去,您就跨进了二次开 ...

  9. NX二次开发-创建(临时)坐标系

    函数:UF_CSYS_create_csys() . UF_CSYS_create_temp_csys() 函数说明:创建坐标系 .创建临时坐标系 用法: #include <uf.h> ...

随机推荐

  1. python的 pep8 规范(看完你会感谢我的!!!)

    1 缩进与换行 每级缩进使用四个空格 2 限制每行的最大长度为79个字符 3 空行 顶层函数和类之间使用两个空行 类的方法之间用一个空行 在函数中使用空行表示不同逻辑段落 4 导入位于文件的顶部 5 ...

  2. 148. Sort List (List)

    Sort a linked list in O(n log n) time using constant space complexity. 法I:快排.快排的难点在于切分序列.从头扫描,碰到> ...

  3. linux操作系统下,怎么使用kill按照PID一次杀死多个进程

    1.ps -ef | grep firefox | grep -v grep | cut -c 9-15 | xargs kill -s 9 说明:“grep firefox”的输出结果是,所有含有关 ...

  4. c#反射优化 表达式树

    using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; us ...

  5. Redis初学笔记

    1.官网概述 Redis is an open source (BSD licensed), in-memory data structure store, used as database, cac ...

  6. BZOJ 2038 小Z的袜子(hose) (莫队算法)

    题意:中文题. 析:很著名的莫队算法,先把这个求概率的式子表达出来,应该是分子:C(x1, 2) + C(x2, 2) + C(x3, 2) + ... + C(xn, 2)  分母:C(n, 2), ...

  7. mdb

    计划开发高性能KV数据库, 学习MongoDB leveldb innodb, 练手贴+日记贴: http://bbs.chinaunix.net/thread-4244870-1-1.html 超高 ...

  8. 编写高质量代码改善C#程序的157个建议——建议136:优先使用后缀表示已有类型的新版本

    建议136:优先使用后缀表示已有类型的新版本 加后缀在某些情况下是很奇怪的形式,我们都不愿意看到OrderProcessor2这样的类型.但是,有的时候仍旧有必要这样做.最典型的是FCL中关于数字证书 ...

  9. mybatis 输入、输出映射

    一.输入映射 mapper.xml的参数只有一个.可以传参数,基本简单类型,hashmap和javabean (一).Javabean的方法. 需求:通过小说名和作者模糊找书. 1.定义Javabea ...

  10. cenos7切换阿里源

    备份并安装base reop源 cd /etc/yum.repos.d sudo mv CentOS-Base.repo CentOS-Base.repo.bak 下载阿里源并配置 sudo wget ...