gpt4 book ai didi

c++ - 使用VS 2010构建ACE和TAO(CORBA)时发生许多错误

转载 作者:行者123 更新时间:2023-11-30 05:03:17 25 4
gpt4 key购买 nike

我正在尝试构建ACE和TAO环境,但是出现了很多错误。

我安装ACE和TAO的过程是:

  • 将文件(ACE + TAO + CIAO-6.1.2.zip)解压缩到文件夹(C:\ ACE_wrappers)中
  • 在C:\ ACE_wrappers \ ace
  • 中创建config.h文件
  • 打开config.h文件并输入以下行:

  • #definenter here here ACE_HAS_WINNT4 1

    #定义ACE_HAS_STANDARD_CPP_LIBRARY 1

    #定义ACE_HAS_MFC 1

    #定义THR_USE_AFX 1

    #定义ACE_USES_STATIC_MFC 1

    #定义ACE_AS_STATIC_LIBS 1

    #定义ACE_NO_INLINE

    #include“ace / config-win32.h”
  • 保存并关闭
  • 打开控制面板->系统->高级系统设置->环境变量
  • 创建一个新的系统变量:ACE_ROOT,值:C:\ ACE_wrappers
  • 创建一个新的系统变量:TAO_ROOT,值:C:\ ACE_wrappers \ TAO
  • 在PATH系统变量中,添加值:C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ bin; C:\ ACE_wrappers \ bin; C:\ ACE_wrappers \ lib; C:\ ACE_wrappers \ TAO \ bin;
    因此值是:
    %SystemRoot%\ system32;%SystemRoot%;%SystemRoot%\ System32 \ Wbem;%SYSTEMROOT%\ System32 \ WindowsPowerShell \ v1.0 \; c:\ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn \; c: \ Program Files \ Microsoft SQL Server \ 100 \ DTS \ Binn \;%USERPROFILE%.dnx \ bin; C:\ Program Files \ Microsoft DNX \ Dnvm \; C:\ Program Files \ Windows Kits \ 8.1 \ Windows Performance Toolkit \ ; C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ bin; C:\ ACE_wrappers \ bin; C:\ ACE_wrappers \ lib; C:\ ACE_wrappers \ TAO \ bin;
  • 启动Visual Stiduo 2010
  • 在C:\ ACE_wrappers \ TAO中打开TAO_ACE_vc10.sln解决方案
  • 选择解决方案配置中的发布(在菜单栏上)
  • 选择所有项目,然后单击鼠标右键,然后选择“属性”。
  • 设置配置属性->常规->使用MFC在共享DLL中使用MFC
  • 在配置属性-> VC++目录->可执行目录中添加C:\ ACE_wrappers \ bin;
  • 在“配置属性”->“VC++目录”->“包含目录”中添加C:\ ACE_wrappers
    C:\ ACE_wrappers \ TAO
    C:\ ACE_wrappers \ TAO \ tao
    C:\ ACE_wrappers \ TAO \ orbsvcs
    C:\ ACE_wrappers \ TAO \ orbsvcs \ orbsvcs
  • 在“配置属性”->“VC++目录”->“库目录”中添加
    C:\ ACE_wrappers \ ace
    C:\ ACE_wrappers \ TAO \ tao
    C:\ ACE_wrappers \ TAO \ orbsvcs \ orbsvcs
  • 选择每个项目,然后检查其配置属性->常规->配置类型是否为动态库(.dll),如果是,则更改为静态库(.lib)
    但是,如果它是Application(.exe)或Utility,那么我不会更改。类似于Scheduling_Service项目,该项目在构建期间出错。
  • 构建->构建解决方案

  • 经过很长一段时间,大多数项目都已成功构建。 Scheduling_Service,Time_Service_Clerk,NT_Notify_Service,Naming_Service(也许还有其他几个项目)有错误(错误LNK2001:无法解析的外部符号“__declspec(dllimport)public:......”)。

    1> Scheduling_Service.obj:错误LNK2019:未解析的外部符号“__declspec(dllimport)公共(public):__thiscall TAO_ORB_Manager::〜TAO_ORB_Manager(void)”(__imp _ ?? 1TAO_ORB_Manager @@ QAE @ XZ)在函数__unwindfunclet $ ?? 0TAO_Schedu中引用QAE @ XZ $ 0
    1> Scheduling_Service.obj:错误LNK2019:未解析的外部符号“__declspec(dllimport)公共(public):__thiscall TAO_ORB_Manager::TAO_ORB_Manager(类CORBA::ORB *,类PortableServer:: POA *,类PortableServer:: POAManager *)”(__ imp_?在函数“公共(public):__thiscall TAO_Scheduling_Service::TAO_Scheduling_Service(void)”(?? 0TAO_Scheduling_Service @ void)中引用的“0TAO_ORB_Manager @@ QAE @ PAVORB @ CORBA @@ PAVPOA @ PortableServer @@ PAVPOAManager @ 4 @@ Z”(?? 0TAO_Scheduling_Service @@ QAE @ XZ)
    1> Scheduling_Service.obj:错误LNK2019:未解析的外部符号“__declspec(dllimport)公共(public):虚拟__thiscall CosNaming::Name::〜Name(void)”(__ imp _ ?? 1Name @ CosNaming @@ UAE @ XZ) public:int __thiscall TAO_Scheduling_Service::init(int,char * * const)“(?init @ TAO_Scheduling_Service @@ QAEHHQAPAD @ Z)
    1> TAO_RTSchedd.lib(Scheduler_Factory.obj):错误LNK2001:无法解析的外部符号“__declspec(dllimport)public:virtual __thiscall CosNaming::Name::〜Name(void)”(__imp _ ?? 1Name @ CosNaming @@ UAE @ XZ )
    1> Scheduling_Service.obj:错误LNK2019:未解析的外部符号“__declspec(dllimport)公共(public):struct CosNaming::NameComponent&__thiscall TAO::unbounded_value_sequence::operator [](unsigned int)”(__ imp _ ?? A?$ unbounded_value_sequence @ UNameComponent函数“public:int __thiscall TAO_Scheduling_Service::init(int,char * * const)”中引用的@CosNaming @@@@ TAO @@ QAEAAUNameComponent @ CosNaming @@ I @ Z(?init @ TAO_Scheduling_Service @@ QAEHHQAPAD @ Z)
    1> TAO_RTSchedd.lib(Scheduler_Factory.obj):错误LNK2001:无法解析的外部符号“__declspec(dllimport)public:struct CosNaming::NameComponent&__thiscall TAO::unbounded_value_sequence::operator [](unsigned int)”(__imp _ ?? A $$ unbounded_value_sequence @ UNameComponent @ CosNaming @@@ TAO @@ QAEAAUNameComponent @ CosNaming @@ I @ Z)

    有人知道这个问题吗?非常感谢你。

    最佳答案

    除非您使用的是为静态使用而生成的Visual Studio项目,否则不应使用#define ACE_AS_STATIC_LIBS 1。目前,您要进行静态构建,必须使用MPC重新生成Visual Studio项目。

    关于c++ - 使用VS 2010构建ACE和TAO(CORBA)时发生许多错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49485642/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com