我正在尝试为 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/