配置OpenDDS

时间:2018-05-17 22:10:20

标签: perl gcc opendds

我正在尝试为OpenDDS配置环境,但我无法运行configure脚本。如果你们有任何见解,我会非常感激。 = D

基本上,我从here下载OpenDDS-3.12.zip后。我已经解压缩到一个文件夹并尝试在VS命令提示符(VS2017)中使用此命令运行配置文件

configure --compiler=gcc

接下来,下载“ACE + TAO-2.2a_with_latest_patches_NO_makefiles”并将zip文件解压缩到根文件夹。

然后显示此消息。

ACE_ROOT/ace/config.h exists, skipping configuration of ACE+TAO 
Use of uninitialized value $mpctype in string eq at configure line 1103.                                                
Use of uninitialized value $mpctype in concatenation (.) or string at configure line 1257.                              
Use of uninitialized value $mpctype in string eq at configure line 1266.                                                
Running MPC to generate project files.                                                                                  
MPC_ROOT was set to C:\src\OpenDDS-DDS-3.12.2\ACE_wrappers\MPC.                                                         
Using .../OpenDDS-DDS- 
3.12.2/ACE_wrappers/bin/MakeProjectCreator/config/MPC.cfg                                         
ERROR: Invalid type: C:\src\OpenDDS-DDS-3.12.2\DDS_TAOv2_all.mwc                                                        
mwc.pl v4.1.28                                                                                                          

...
/*lots of explanation of each file here*
*then followed by*/
...

ERROR: Error from MPC, stopped at configure line 1270.   

我同时安装了Visual Studio 2017和Perl 5.22,我不确定这是编译问题还是其他任何问题。以下是打印上述错误的配置脚本。

@@ line 1268 -- 1270 @@
  if (!$opts{'dry-run'}) {
if (system("perl \"$ENV{'ACE_ROOT'}/bin/mwc.pl\" $mwcargs") != 0) {
  die "ERROR: Error from MPC, stopped";
}
}

3 个答案:

答案 0 :(得分:1)

$mpctype在此处定义:

my $mpctype = ($slash eq '/' ||
              ($cross_compile && $buildEnv->{'build'} eq 'target'))
            ? 'gnuace' : $opts{'compiler_version'};

似乎在看$opts{'compiler_version'},这显然是空的。此处定义%opts

my %opts = %{parseArgs()};

所以看起来应该在命令行中定义compiler_version或定义目标平台。如果你check out the INSTALL options thoroughly

,情况可能会更好

答案 1 :(得分:1)

我有一个类似的问题。作为新手,我从https://opendds.org/quickstart/GettingStartedWindows.html上的Java和Windows入手。 尽管在Visual Studio命令窗口中,第5步“配置(要启用Java支持,请使用configure --java)”仍然无法运行 设置了JAVA_HOME。我已经发送了ACE_ROOT,DDS_ROOT,TAO_ROOT和MPC_ROOT,尽管该教程并未基于尝试调试此问题而指定。 使用“ --compiler”选项时,出现类似于该线程的错误。是否有任何解决方案只是为了获得“ “现成的”教程可以正常工作。使用Windows 10。

D:\ data \ OpenDDS-3.13.3> configure --java --compiler =“ C:\ Program Files \ Java \ jdk1.8.0_221 \ bin”     存在ACE_ROOT / ace / config.h,跳过ACE + TAO的配置     在配置行1482中在字符串eq中使用未初始化的值$ mpctype。     在配置行的串联(。)或字符串中使用未初始化的值$ mpctype     1646。     在配置行1655中在字符串eq中使用未初始化的$ mpctype值。     运行MPC生成项目文件。     MPC_ROOT设置为D:\ data \ OpenDDS-3.13.3 \ ACE_WRAPPERS \ MPC。     使用... / OpenDDS-3.13.3 / ACE_WRAPPERS / bin / MakeProjectCreator / config / MPC.cfg     错误:无效的类型:D:\ data \ OpenDDS-3.13.3 \ DDS_TAOv2_all.mwc     mwc.pl v4.1.44     ...     错误:来自MPC的错误,在配置行1659处停止。

答案 2 :(得分:0)

VS2017默认情况下不安装c ++编译器。

  
      
  • 修改VS 2017并选择c ++编译器,如果已安装VS 2017,则进行安装。
  •   
  • 配置(不带--compiler = gcc标志)
  •