`

Windows平台上编译安装ACE

    博客分类:
  • C++
阅读更多
Windows平台上编译安装ACE 收藏
一、获取ACE   http://download.dre.vanderbilt.edu/。
     二、ACE的编译和安装步骤见http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html。TAO的编译和安装步骤见http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/TAO/TAO-INSTALL.html。如果你英文程度还可以的话,最好直接阅读这两篇文档。

     ACE的编译与安装一般规则

     ACE中的许多特性可以通过在ACE_wrappers/ace/config.h中定义一些宏来进行修改。这些宏应该总是在包括针对你的平台的配置文件之前出现。

     但是,如果你想要取消/重定义在针对特定平台的配置文件中定义的宏,#undef应该在配置文件之后出现。

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

步骤:

     1. 将ACE发布文件解压缩到某个目录中,在其中将会创建含有所有文件的ACE_wrappers目录。在下面的步骤中,ACE_wrappers目录为D:\ACE_wrappers。

     2. 在D:\ACE_wrappers\ace目录中创建一个名为config.h的文件,在其中包含:

            #include “ace/config-win32.h”

     3. 现在加载ACE的项目文件(D:\ACE_wrappers\ace\ace_vc8.sln)。

     4. 其中的每个项目都含有若干不同的配置(可混合Debug/Release、MFC/Non-MFC、Static/Dynamic library版本)。你可以从中选择你所需的配置,或是使用ace/config.h来进行调整。
注意:如果你使用动态链接库,在运行使用ACE的程序时,确定你在PATH中包括了ACE_ROOT\bin。

      在下面的步骤我仅仅是在用户的环境变量path中加入了D:\ACE_wrappers\lib。

     打开Microsoft Visual Studio 2005并加载ACE的项目文件后,依次选择Tools -> Options -> Projects and Solutions -> VC++ Directoris打开对话框,在右上方show directories for:下选择Include files包含路径D:\ACE_wrappers ; Library files包含路径D:\ACE_wrappers\lib  ; Source files包含路径D:\ACE_wrappers\ace  ;

     5. 如果你的系统平台是WinNT或2000,那么无需任何改动你就可以开始编译了。如果是Windows 9x/Me,你需要在D:\ACE_wrappers\ace\config.h中的#include语句之前增加:

         #define ACE_HAS_WINNT4 0

     6. 如果你想要使用MSVC标准C++头(iostream、cstdio……),在D:\ACE_wrappers\ace\config.h中的#include语句之前增加:

           #define ACE_HAS_STANDARD_CPP_LIBRARY 1

     7. 要与MFC一起使用ACE,再增加下面的定义:

        #define ACE_HAS_MFC 1

      注意如果你想要通过CWinThread派生新线程,一定要设置THR_USE_AFX。在缺省情况下,所有的ACE项目都使用DLL版本的MSVC运行时库。尽管如此,你仍然可以选择使用static(LIB)版本的ACE库(在项目属性中进行)。如果你想要将MFC作为静态库链接进ACE,你可以在config.h文件中定义ACE_USES_STATIC_MFC。但如果你想要静态链接所有的东西(包括MSVC运行时库),你就需要自己修改ACE的项目文件。

     8. ACE的静态版本是通过定义ACE_AS_STATIC_LIBS来编译的。在链接静态ACE库的应用项目中也应该使用这个宏。你也可以在config.h文件中增加

         #define ACE_NO_INLINE

来取消函数内联并减小静态库(和你的可执行程序)的大小。

      我自己的config.h文件是这样的:

            #define ACE_HAS_STANDARD_CPP_LIBRARY 1  //使用标准C++库,可以使用STL
            #define ACE_NO_INLINE                                             //不使用内联函数,可以减小LIB和EXE的大小
            #define ACE_HAS_MFC 1                                            //使用MFC
            //#define ACE_AS_STATIC_LIBS                                //使用静态 LIB

           #include "config-win32.h"                                             //一定要放在最后

     9. ACE DLL和LIB的命名方案:

"Library/DLL名" + (是否为静态库 ? "s" : "") + (是否启用了Debugging ? "d" : "") + {".dll"|".lib"}

     10. 配置完毕后编译即可。选择dll版本,编译生成的dll文件在D:\ACE_wrappers\bin中,相应的lib文件在D:\ACE_wrappers\ace中。

ACE测试

      各测试程序在D:\ACE_wrappers\tests中。在其中也有一个工作空间文件可用来编译所有的测试程序(tests_vc8.sln)。
       一旦你编译了所有测试程序(可使用批编译),你可以运行tests目录中的perl脚本run_test.pl或批处理文件run_tests.bat来进行所有测试。

另转贴:

安装环境:


操作系统:Windows XP 专业版
编译环境:VS2005中文版
ACE版本:ACE-5.5.1
安装过程:
下载安装包。
Ace的安装文件可以在http://download.dre.vanderbilt.edu/中下载到,由于我是在windows环境下安装并且不需要TAO等其它库,便下载了ACE-5.5.1.zip。
下载完成后将其解压。我的解压路径为D:\Develop\ACE_wrappers。
设置环境变量
在操作系统添加一个名为ACE_ROOT的用户环境变量,值为刚才ace的解压路径D:\Develop\ACE_wrappers。
添加用户的Path环境变量,值为%ACE_ROOT%\lib,这样才能保证系统能找到ace生成的动态连接库。
设置VS2005的C++开发项目信息,依次打开菜单 工具-选项-项目和解决方案-VC++目录 ,在右侧目录列表中选择"包含目录",添加$(ACE_ROOT),在右侧目录列表中选择"库文件",添加$(ACE_ROOT)\lib。
编译ACE
在ACE_ROOT\ace目录创建一个名为 config.h的文件。编辑文件并加入以下内容
#define ACE_HAS_STANDARD_CPP_LIBRARY 1
#include "ace/config-win32.h"
其中第一行是因为我想用标准C++跨平台,第二行则是必须要的,表明当前是在win32的环境下进行ace的项目。
进入ACE_ROOT\ace目录中,能发现ACE现在已经带VS2005的编译项目了,直接打开ace_vc8.sln,直接生成ACE项目的Debug版和Release版,编译过程还比较快,大概就几分钟的样子。编译链接完成后,在ACE_ROOT\lib中一共生成了四个文件,分别是"ACE.dll","ACE.lib", "ACEd.dll","ACEd.lib",其中带"d"表示的是Debug版本。
检验 ACE
打开VS2005,建立一个空项目,将ACE程序员手册中的第一个程序拷入其中。
配置属性->链接器->常规->附加依赖项,添入ACEd.lib。
编译,如果不出意外的话就能看到你的ace版的" hello world"啦。
注意:
ACE项目的字符集设置是"未设置",而VS2005的c++项目默认字符集是"使用 Unicode 字符集",如果用到了ACE链接库时需要将字符集改为"未设置"(在"项目属性->配置属性->项目默认值->字符集"中配置),否则可能出现链接错误。

至此,ACE的安装工作便算完成,希望这篇文章对大家安装ACE有点帮助。

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

支持unicode的ACE编译。

编译前在config.h中多添加如下两行,并且将项目默认字符集改为"使用 Unicode 字符集"。

#define ACE_USE_WCHAR
#define ACE_HAS_WCHAR

注意:

在windows平台下,如果没有定义如上两个宏, ACE会自动将 main 函数重定义, 并主动替你把 ACE::init() 和 ACE::fini() 调用好。添加这两个宏后,需要在main函数中手动调用。

main 函数重定义这一行为不能保证在所有平台和环境下都正常运作(如使用MFC时),其实不管如何,不妨在 main 函数的开头和结尾分别再调用一次 ACE::init() 和 ACE::fini()。 ACE::init() 和 ACE::fini() 里面都有嵌套层次计数机制,因此只要它们能够保证成对出现, 并且不出现交叉嵌套, 多调用一遍并不会出现任何问题



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/kybd2006/archive/2007/08/21/1753333.aspx
分享到:
评论

相关推荐

    已经编译好的ACE最新版-6.4.8

    5. **移植性**: ACE被设计为跨平台,能够在多种操作系统上运行,包括Windows、Linux、Unix、嵌入式系统等。 6. **内存管理和性能优化**: ACE提供了一组内存管理工具,如智能指针和内存池,以提高性能并减少内存泄漏...

    vs2008编译通过的ace

    这通常意味着包含了所有必要的依赖项和配置文件,使得在Windows平台上开发基于ACE的应用程序变得更加方便。 关于“c++ ace”标签,这是对ACE库的进一步说明,表示这是一个C++实现的库,因此它的API是面向C++程序员...

    vs2012编译ACE-6.3.0

    编译ACE-6.3.0在VS2012下的过程涉及设置环境变量、创建配置文件、调整Visual Studio项目属性以及在新建项目中正确引用库文件。通过这些步骤,开发人员可以在Windows平台上利用ACE的强大功能,进行网络编程和分布式...

    ace 编译文档

    - **跨平台支持**:如果要在非Windows平台(如Linux)上编译ACE和TAO,还需要添加相应的平台配置文件。 - 文件名示例:`$ACE_ROOT/include/makeinclude/platform_macros.GNU`。 - **编译顺序**:根据实际平台的项目...

    ACE安装说明(unix/windows/linux/sun/hp平台)

    在Windows平台上安装ACE需要进行以下步骤: 1. 将程序包放在D盘根目录下面,目录结构如下:D:\ACE_wrappers。 2. 在目录D:\ACE_wrappers/ace/下面建立一个config.h文件,如果已经存在,则只需要修改内容。 3. 在...

    ace 编译好的dll

    这个“ace 编译好的dll”很可能指的是已经编译为动态链接库(DLL)形式的ACE库,它允许开发者在Windows平台上方便地集成和使用ACE的功能。 ACE库提供了一整套的服务,包括网络通信、并发处理、事件管理、对象间交互...

    ACE入门 编译 配置 中文版

    在编译ACE时,如果是使用Visual Studio,需要添加相应的配置文件,如ACEconfig.h,并且在编译时包含相应的库文件。文档中也给出了一个简单的ACE程序示例,演示了如何在Windows环境下创建线程,并进行同步。 在实际...

    MinGW版ACE编译好的库(static版)

    MinGW版的ACE库是为在Windows环境下...通过静态编译,开发者可以确保他们的应用程序在任何装有MinGW运行时环境的机器上都能正常运行,而无需额外安装ACE库。这简化了分发和部署的过程,是很多Windows开发者的理想选择。

    Windows7主机上用WorkBench3.0交叉编译用于VxWorks6.6的ACE+TAO+OpenDDS.docx

    这篇文档详细介绍了如何在Windows 7上使用WorkBench 3.0进行交叉编译,以便将这些库应用于VxWorks 6.6平台。 首先,确保拥有正确的开发环境是至关重要的。在这个场景中,主机系统是Windows 7,而目标系统是VxWorks ...

    ace-maven-plugin:该插件可用于在Windows和Linux上编译IBM ACE v11项目。

    该插件可用于在Windows和Linux上编译IBM ACE v11项目。 依存关系 要在本地安装此插件: 1-安装和配置Maven 2-包含示例Settings.xml文件。 按照文件说明中给出的说明进行修改后,请使用它。 样品申请 使用此插件的...

    ace开发平台环境搭建

    4. **编译ACE库**: - 打开Visual Studio.NET 2003,加载`D:\ACE\ACE_wrappers\ace\ace.sln`解决方案文件。 - 编译生成的库文件会保存在`D:\ACE\ACE_wrappers\lib`目录下,这些库文件(`.lib`和`.dll`)是后续项目...

    【推荐】ACE TAO安装说明(VS2008)

    - **编译ACE**:使用VS2008的命令行工具或者外部的make工具,按照ACE提供的编译指南来编译ACE库。这个过程可能需要根据你的系统配置进行一些调整。 - **编译TAO**:编译完ACE后,接下来编译TAO。同样,这一步也...

    MinGW版ACE编译好的库(DLL版)

    使用这个MinGW版的ACE库,开发者可以在Windows平台上使用GCC编译器,编写和构建ACE相关的C++程序。DLL版本的库使得应用程序在运行时可以动态加载所需的库函数,降低了程序的体积,但需要确保目标系统上有相应的库...

    vs2008安装编译corba TAO说明

    编译完成后,进行测试以验证ACE和TAO是否正确安装。在TAO_ROOT目录下,你可以找到一个名为`tests`的子目录,其中包含了各种测试用例。通过运行这些测试,你可以检查TAO的核心功能是否正常工作。 最后,创建一个简单...

    跨平台工具ACE

    "跨平台"这一标签表明了ACE能够在多种操作系统上运行,包括但不限于Windows、Linux、Unix、iOS、Android等,这得益于其精心设计的移植层。 在"网络"领域,ACE提供了强大的网络编程工具,包括但不限于套接字接口的...

    ACE-6.2.0 源码 已经编译 在vc2010. 最新的

    9. **编译与构建工具**:ACE 6.2.0 版本已经预编译为适用于Visual Studio 2010的版本,这意味着开发者可以直接在Windows环境下使用,无需自行解决编译问题。 10. **持续更新与社区支持**:“最新”标签表明这个版本...

    ACE-6.0.1.rar

    在Linux环境下,用户需要先用tar命令解压,然后可能还需要进行编译和安装步骤,才能在开发项目中使用ACE库。 总的来说,ACE 6.0.1为C++开发者提供了一个功能丰富的网络通信框架,涵盖了从低级网络I/O到高级应用层...

Global site tag (gtag.js) - Google Analytics