objectARX二次开发的时候,经常会用到一些重复使用的类,如果类已经足够的好,那么我们可以编译成静态库,加快开发和编译的速度,提高工作效率。
环境vs2010+objectARX2012wizard,以及各种编译器平台,我这里主要是用v90 编译器平台。
下面就开始添加一个win32项目。
在win32应用程序向导中,我们下一步,直接勾选静态库,MFC和预编译头。
项目新建后,设置项目属性。
在c/c++选项的预处理器中,我们这里删除_DEBUG,因为这个“预定义"可能会影响一些类的问题,这个因人而异。不一定按此操作
在代码生成这个选项中,将运行库改为多线程dll(/md)模式,保持和arx配置相同。
然后在stdAfx.h头文件中添加arx的头文件 arxheaders.h (这个是关键,他包含了大多数arx头文件,以及lib库,dll导出等)
新建完成后,修改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。