perl - 配置 OpenDDS

标签 perl gcc opendds

我正在尝试为 OpenDDS 配置环境,但无法运行配置脚本。如果你们有任何见解,我将不胜感激。 =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";
}
}

最佳答案

$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 可能会更好

关于perl - 配置 OpenDDS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50401189/

相关文章:

Perl 使用自定义比较函数查找最小值

c++ - ...使用时没有模板参数错误

c++ - Windows系统如何安装OpenDDS 3.12

android - 如何解决 ACE 和 Android 之间的冲突声明 (CPU_SET_T)?

regex - Perl 正则表达式问题

perl - Perl 开关的代码内检查

arrays - 通过在值中分配一个数组在哈希中添加键值对=>不能将未定义的值用作ARRAY引用

c - 通过初始化程序设置结构数组元素的语法?

c - 将字符串复制到时出现段错误

ssl - 如何使用 rtps_discovery 发现其他域名托管服务商