分类:
The ACE+TAO+CIAO Release Process
Minor releases of ACE+TAO+CIAO occur periodically, typically twice a year. Minor releases have two-digit numbers, e.g., 5.3. Major releases are released infrequently, typically once a year. Major releases are 1-digit numbers, e.g.,5, that include substantially new functionality. Both major and minor releases are carefully tested on all platforms the ACE+TAO run on. In particular, we do not put out major or minor releases of ACE+TAO+CIAO until all the compilations and regression tests work successful on all the platform we support.
ACE+TAO+CIAO的Minor release版本会定期发布,一般一年两次。Minor release版本由两个数字组成,例如5.3。Major release版本则发布的不是很频繁,一般一年一次。Major release版本只有一个数字,例如5,通常包含了有价值的新功能。Major和Minor release版本都在所有ACE+TAO运行的平台上进行了精心测试。特别地,在在我们支持的所有平台上完成所有编译和回归测试通过前,我们是不会将ACE+TAO+CIAO的Major或Minor release版本发布出来。
Between major/minor releases, we release micro releases periodically, e.g., 3-4 times per year, so that ACE+TAO+CIAO users can download and test our latest work in progress. ACE+TAO+CIAO micro release kits have three-digit numbers, e.g., 5.3.1. Micro releases often contain important fixes that aren't in the major/minor releases and will compile cleanly and pass most tests on most platforms. They are not, however, necessarily concerned with ensuring API compatibilities between micro releases, e.g., new features may be changed or removed between the micro releases.
在发布Major/Minor release版本期间,我们还会定期发布Micro release版本,例如,每年3至4次,这样可以使ACE+TAO+CIAO的用户可以下载和试用我们工作中的最新劳动成果。ACE+TAO+CIAO release kit由三个数字组成,例如,5.3.1。Micro release版本经常包含一些没有加入到Major/Minor release版本的重要修改,它们都通过了无告警的编译和在大多数平台上的大部分测试。但是在Micro release版本间不会关心API的前后兼容性,例如,在Micro release版本间可能会有新特性的改变和删除。
The first micro release following a major/minor release is called the bug-fix-only (BFO) micro release. As the name implies, this micro release only has fixes for the most recent major/minor releases. Types of fixes and checkins that are allowed to go in for the BFO include bug fixes in the implementation; fixes to the build systems like Makefiles, project files, and MPC files; adding new tests and examples; fixes to the documentation, etc. Fixes that are definitely not allowed include changes to the public interface, refactoring implementations, removing files from the repository, adding new files into the repository, etc. The idea is to allow commercial support vendors to stabilize the major or minor release for their product offerings. As always, if you require 100% predictable stability and support, please contact one of the companies that provides commercial support for ACE+TAO.
今天晚上打算在windows平台上编译安装ACE,特记录此过程,希望与大家共勉.
一、准备工作
windows系统:windows xp
IDE:Visual Studio Team System 2008(即Version 9版本)
ACE:下载链接http://download.dre.vanderbilt.edu/,选择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目录下生成了相应的文件,如下图所示: