Настройка OpenDDS

Я пытаюсь настроить среду для 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";
}
}

Выясните, где определен $mpctype, возможно, вам не хватает переменной среды или переключателя команд.

xxfelixxx 18.05.2018 04:33

Кроме того, как правило, первое предупреждение / ошибка является наиболее полезным для просмотра кода, а не последнее, поэтому здесь я бы начал смотреть до строки 1103, а не строки 1266.

xxfelixxx 18.05.2018 04:35

Не используйте --compiler=gcc, вы используете не gcc, а Visual Studio

Johnny Willemsen 18.05.2018 10:32

Может, мне стоит начать с сути проблемы. Когда я пытался использовать только --compiler, он показывает мне это, ERROR: Can't find a compiler, set PATH or run this script with the --compiler option. For Microsoft Visual C++, run this script from the Visual Studio Command Prompt. Stopped at configure line 378.. Я проверил свой PATH в моей системе, есть ли в нем perl или что-то я пропустил?

Leon Teng 20.05.2018 22:29

@JohnnyWillemsen, так какую команду мне использовать? Вроде не могу найти компилятор.

Leon Teng 21.05.2018 09:41

Вы должны ввести команду из командной строки Visual Studio, вы это делаете?

Johnny Willemsen 21.05.2018 11:41
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
6
1 021
3

Ответы 3

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

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

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

my %opts = %{parseArgs()};

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

Я проверил параметры УСТАНОВКИ, но до сих пор не нашел никакого решения. Среда TAO и ACE правильная. как вы определяете compiler_version?

Leon Teng 21.05.2018 09:40

@LeonTeng Вы можете попробовать --compiler_version = dummy и посмотреть, что он делает, но, возможно, вы можете попробовать «gcc» и другие, которые вы могли установить в своей системе.

jjmerelo 21.05.2018 14:02

Большое спасибо за понимание, проблема решена. Проблема вызвана отсутствием компилятора в Visual Studio. Очевидно, Visual Studio не установила C++ по умолчанию, поэтому просто перезапустите установку, выберите «Изменить» и отметьте C++, и тогда все будет работать нормально.

Leon Teng 21.05.2018 23:03

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

  • Modify VS 2017 and select c++ compiler and install if VS 2017 already install.
  • configure (without --compiler=gcc flag)

У меня был аналогичный вопрос. Будучи новичком, я начал с знакомства с java и windows на https://opendds.org/quickstart/GettingStartedWindows.html. Шаг 5, «настроить (чтобы включить поддержку Java, используйте configure --java)» не работал в командном окне Visual Studio, несмотря на установив 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 Использование неинициализированного значения $ mpctype в строке eq в строке конфигурации 1482. Использование неинициализированного значения $ mpctype в конкатенации (.) Или строки в строке конфигурации 1646. Использование неинициализированного значения $ mpctype в строке eq в строке конфигурации 1655. Запуск 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.

Привет, user8039286, добро пожаловать. Пожалуйста, подумайте о том, чтобы дать лучший формат, так как его очень трудно читать.

Tiago Martins Peres 李大仁 25.12.2019 23:06

Другие вопросы по теме