Конфигурирование OpenDDS - PullRequest
0 голосов
/ 18 мая 2018

Я пытаюсь настроить среду для OpenDDS, но мне не удалось запустить скрипт настройки. Буду очень признателен, если есть какие-то идеи от вас, ребята. = D

Итак, после загрузки 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";
}
}

Ответы [ 2 ]

0 голосов
/ 31 декабря 2018

VS2017 не устанавливает компилятор c ++ по умолчанию.

  • Измените VS 2017, выберите компилятор c ++ и установите, если VS 2017 уже установил.
  • configure (без флага --compiler = gcc)
0 голосов
/ 19 мая 2018

$mpctype определяется здесь:

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

Кажется, он смотрит на $opts{'compiler_version'}, который, по-видимому, пуст. %opts определяется здесь:

my %opts = %{parseArgs()};

, похоже, вы должны определить compiler_version в командной строке или определить целевую платформу. Вероятно, будет лучше, если вы тщательно изучите опции УСТАНОВКИ

...