window10(64bit)+VS2010编译ACE_TAO源码库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了window10(64bit)+VS2010编译ACE_TAO源码库相关的知识,希望对你有一定的参考价值。

1.下载

    ACE+TAO下载地址:http://download.dre.vanderbilt.edu/previous_versions/

    VS2010下载地址:https://pan.baidu.com/mbox/homepage?short=c1Z61lm

    最新版本6.4.3是用vs2012以上版本编译,本文介绍的ACE_TAO的版本是6.2.6,它VS编译版本是10或11。另外,下载源码库最好不要带src后缀的,sources - only包只  包含源代码,您必须使用MPC生成自己的makefile。

    不同的平台安装过程在 http://www.dre.vanderbilt.edu/~schmidt/ACE-install.html都有介绍,想了解的可以去看看。

 2.解压

    解压到指定目录,如D:\\ACE_TAO_6.2.6\\ACE_wrappers,文件路径最好不要带中文字符

 3.坏境变量设置

       添加系统变量

       ACE_ROOT:D:\\ACE_TAO_6.2.6\\ACE_wrappers; TAO_ROOT:D:\\ACE_TAO_6.2.6\\ACE_wrappers\\TAO;

       技术分享

  4.编译ACE

     1).在解压目录\\ACE_wrappers\\ace 下创建一个config.h文件,内容为: #include "ace/config-win32.h"

        具体的宏定义添加意义在这里就不详细讲解,目前我用到这些   

  #ifndef __ACE_CONFIG_H
  #define __ACE_CONFIG_H

  #define ACE_HAS_STANDARD_CPP_LIBRARY 1
  #define ACE_DISABLE_WIN32_ERROR_WINDOWS
  #define ACE_DISABLE_WIN32_INCREASE_PRIORITY
  #define ACE_NO_INLINE
  #define ACE_HAS_MFC 1
  #include "ace/config-win32.h"

  #endif /* __ACE_CONFIG_H */

   2).用VS2010打开  D:\\ACE_TAO_6.2.6\\ACE_wrappers\\TAO\\ TAO_ACE_vc10.sln,设置ACE为启动项,右键属性:

       a)VC++目录——包含目录  添加 $(ACE_ROOT)

       b)VC++目录——库目录  添加 $(ACE_ROOT)\\lib

   3). 生成解决方案

   4).编译成功后的文件在  ACE_wrappers\\lib目录下(建议debug和release版都生成下)

  5.VS项目中使用ACE

    右键项目属性 ,配置

     VC++ Directories-->Include Directories D:\\ACE_TAO_6.2.6\\ACE_wrappers

     VC++ Directories-->Library Directories D:\\ACE_TAO_6.2.6\\ACE_wrappers\\lib

     C/C++-->General--> Additional include Directories D:\\ACE_TAO_6.2.6\\ACE_wrappers\\TAO

     Linker-->General -->Additional Libraray Directories D:\\ACE_TAO_6.2.6\\ACE_wrappers\\lib

     Linker-->General-->Additional Dependencies TAOd.lib ACEd.lib

     以下是简单的代码测试以及结果:  

  #include "stdafx.h"
  #include <iostream>
  #include <tao/corba.h>
  #include <tao/String_Alloc.h>
  using namespace std;
  #include "stdafx.h"

  int ACE_TMAIN (int argc, ACE_TCHAR *argv[])
  {
     char *p = CORBA::string_alloc(5);
      strcpy(p,"Hello");
      cout<<p<<endl;
      CORBA::string_free(p);
      CORBA::String_var s = CORBA::string_dup ("world");
      cout<<s.in()<<endl;
      cout<<p<<endl;
      getchar();
      return 0;
  }

        技术分享

      参考:http://blog.csdn.net/kaci_csdn/article/details/52535589

 

 

            

    























以上是关于window10(64bit)+VS2010编译ACE_TAO源码库的主要内容,如果未能解决你的问题,请参考以下文章

VS2010:以 64 位编译 C++ 项目

vs2010中配置管理器win32和x64的区别

windows 10(64位)下实现vs20120C++调用matlab r2014a编写的m文件生成的.dll,.lib,.h文件

vs2010中配置OpenGL以及针对64位系统所遇问题的解决办法

windows 7 + vs2010 sp1编译 x64位版qt4

MPI 在Windows10 上安装,使用VS2013编译生成可执行程序