4

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

所以基本上,在我从这里下载 OpenDDS-3.12.zip 之后。我已提取到一个文件夹并尝试在 VS 命令提示符(VS2017)中使用此命令运行配置文件

configure --compiler=gcc

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

然后它显示此消息。

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";
}
}
4

3 回答 3

1

I had a similar question. Being a newbie, I started with the getting started with java and windows on https://opendds.org/quickstart/GettingStartedWindows.html . Step 5, "configure (To enable Java support, use configure --java)" didn't work in a visual studio command window despite having set JAVA_HOME. I had sent ACE_ROOT, DDS_ROOT, TAO_ROOT and MPC_ROOT though the tutorial didn't specify based on trying to debug this problem. When using the "--compiler" option I get errors similar to the ones in this thread. Was there any resolution just to get the" "off-the-shelf" tutorial working. Using 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 exists, skipping configuration of ACE+TAO Use of uninitialized value $mpctype in string eq at configure line 1482. Use of uninitialized value $mpctype in concatenation (.) or string at configure line 1646. Use of uninitialized value $mpctype in string eq at configure line 1655. Running MPC to generate project files. MPC_ROOT was set to D:\data\OpenDDS-3.13.3\ACE_WRAPPERS\MPC. Using .../OpenDDS-3.13.3/ACE_WRAPPERS/bin/MakeProjectCreator/config/MPC.cfg ERROR: Invalid type: D:\data\OpenDDS-3.13.3\DDS_TAOv2_all.mwc mwc.pl v4.1.44 ... ERROR: Error from MPC, stopped at configure line 1659.

于 2019-12-25T20:58:10.263 回答
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在命令行中定义或定义目标平台。如果您彻底检查安装选项可能会更好

于 2018-05-19T09:52:23.603 回答
1

VS2017 doesn't install c++ compiler by default.

  • Modify VS 2017 and select c++ compiler and install if VS 2017 already install.
  • configure (without --compiler=gcc flag)
于 2018-12-31T07:33:05.297 回答