Я пытаюсь настроить среду для 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";
}
}
Кроме того, как правило, первое предупреждение / ошибка является наиболее полезным для просмотра кода, а не последнее, поэтому здесь я бы начал смотреть до строки 1103, а не строки 1266.
Не используйте --compiler=gcc
, вы используете не gcc, а Visual Studio
Может, мне стоит начать с сути проблемы. Когда я пытался использовать только --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 или что-то я пропустил?
@JohnnyWillemsen, так какую команду мне использовать? Вроде не могу найти компилятор.
Вы должны ввести команду из командной строки Visual Studio, вы это делаете?
$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
?
@LeonTeng Вы можете попробовать --compiler_version = dummy и посмотреть, что он делает, но, возможно, вы можете попробовать «gcc» и другие, которые вы могли установить в своей системе.
Большое спасибо за понимание, проблема решена. Проблема вызвана отсутствием компилятора в Visual Studio. Очевидно, Visual Studio не установила C++ по умолчанию, поэтому просто перезапустите установку, выберите «Изменить» и отметьте C++, и тогда все будет работать нормально.
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, добро пожаловать. Пожалуйста, подумайте о том, чтобы дать лучший формат, так как его очень трудно читать.
Выясните, где определен
$mpctype
, возможно, вам не хватает переменной среды или переключателя команд.