博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ACE在windows平台下的编译安装
阅读量:4165 次
发布时间:2019-05-26

本文共 1821 字,大约阅读时间需要 6 分钟。

今天晚上打算在windows平台上编译安装ACE,特记录此过程,希望与大家共勉.

一、准备工作

windows系统:windows xp

            IDE:Visual Studio Team System 2008(即Version 9版本)

           ACE:下载链接,选择Latest Micro Release Kit项下的ACE.zip即可;我下载的版本为6.0.2;页面如下图所示:

二、解压使用

解压已下载的压缩包;我把它直接解压到C盘下,即最后的主目录结构为:C:\ACE_wrappers;

双击C:\ACE_wrappers目录下的ACE-INSTALL.html文件,按照提示即可一步一步的进行在windows下的编译安装;

三、编译安装一般规则

1.Many features in ACE can be modified by defining some macros in $ACE_ROOT/ace/config.h. These macros should always appear before including your       platform specific config file.  

ACE中的许多特性可以通过在C:\ACE_wrappers\ace\config.h中配置宏来进行修改,这些宏应该在你的特定平台配置文件之前被包含 

2.However, if you want to undefine/redefine macros defined in the platform specific config file, these #undef should come after the config file.  

然后,如果你想取消/重定义在特定平台配置文件中定义的宏,那么这些#undef指令应该包含中配置文件之后 

3.If you're planning to build ACE on multiple platforms, you may want to consider cloning the source tree before you start.  

如果你计划在多种平台上编译ACE,你可以需要考虑克隆源码树

四、具体编译安装

1.在C:\ACE_wrappers\ace\目录下创建名字为config.h的文件,在该文件中加入#include "ace/config-win32.h"语句.

2.双击C:\ACE_wrappers\ace\ace_vc9.sln文件,这时Visual Studio Team System 2008就打开了该解决方案.

3.你可以通过在工程属性中设置你所需的配置,或是使用ace/config.h来进行调整,在这里我使用了其默认的配置,即生成Debug版的动态链接库,如下图所示:

4.如果需要在ACE中使用MFC库,则需要在config.h文件中加入下行语句,如果你希望产生继承于CWinThread类的线程,确保在产生线程时使用THR_USE_AFX  标志;

  #define ACE_HAS_MFC 1

如果希望静态链接MFC库(默认为动态链接),则定义ACE_USES_STATIC_MFC宏即可. 然而,如果你想静态链接所有东东(包括MSVC运行时库),则你必须自己修改ACE的工程 设置了;

5.如果要编译ACE为静态库,则可以定义ACE_AS_STATIC_LIBS宏,这个宏也应该被包含在静态链接ACE库的应用程序中.你也可在config.h的#include语句前增加 #define     ACE_NO_INLINE来不使能(enable:使能,disable:不使能)inline函数以至减少静态库的大小;

6.ACE dll 和lib库的命名规则:"Library/DLL name" + (Is static library ? "s" : "") + (Is Debugging enable ? "d" : "") + {".dll"|".lib"} 举例如下:如果是Debug模式下的动态库,则命名为ACEd.dll;

五、编译安装结果验证

我只是使用了具体编译安装条目中的1和2项,因为其他项都可选的,是根据具体项目进行配置的;编译工程,结果编译成功,在C:\ACE_wrappers\lib目录下生成了相应的文件,如下图所示:

转载:
你可能感兴趣的文章
idea添加gradle模块报错The project is already registered
查看>>
在C++中如何实现模板函数的外部调用
查看>>
HTML5学习之——HTML 5 拖放
查看>>
HTML5学习之——HTML 5 Canvas vs. SVG
查看>>
HTML5学习之——HTML 5 应用程序缓存
查看>>
HTML5学习之——HTML 5 Web Workers
查看>>
HTML5学习之——HTML 5 Canvas
查看>>
HTML5学习之——HTML5 内联 SVG
查看>>
HTML5学习之——HTML 5 服务器发送事件
查看>>
SVG学习之——HTML 页面中的 SVG
查看>>
SVG 形状学习之——SVG圆形
查看>>
SVG 滤镜学习之——SVG 滤镜
查看>>
mysql中用命令行复制表结构的方法
查看>>
hbase shell出现ERROR: org.apache.hadoop.hbase.ipc.ServerNotRunningYetException
查看>>
让代码变得更优雅-Lombok
查看>>
解决Rhythmbox乱码
查看>>
豆瓣爱问共享资料插件发布啦
查看>>
Ubuntu10.10 CAJView安装 读取nh\kdh\caj文件 成功
查看>>
kermit的安装和配置
查看>>
vim 配置
查看>>