Неустранимая ошибка C1083 при использовании инструмента opendds_idl в файле IDL

У меня проблема с инструментом opendds_idl в Windows 10.

Я сгенерировал библиотеки и инструменты OpenDDS для Visual Studio 2015 из исходного кода OpenDDS с включенным режимом статического связывания и платформой x64.

С командной строкой

opendds_idl file.idl

Я получил ошибку

c1: fatal error C1083: Cannot open source file : '' : No such file or directory
tao-idli_2HJC0I.cpp
opendds_idl: preprocessor "CL.EXE" returned with an error

Содержимое файла IDL:

module BasicIOTest
{
#pragma DCPS_DATA_TYPE "BasicIOTest::TestData"#pragma DCPS_DATA_KEY "BasicIOTest::TestData id"
struct TestData
{
long id;
string text;
};
};

0

Решение

На самом деле я использовал командную строку VS2015 x64 native tools, и кажется, что что-то пошло не так, когда opendds_idl форматировал командную строку CL.exe.

Вот подробности (с опцией -v, рекомендованной Джонни Виллемсеном)

> opendds_idl -v TestData.idl
opendds_idl: preprocessing TestData.idl
opendds_idl: spawning: CL.EXE -D__TAO_IDL=0x060200 -I. -I. -nologo -E -I. -D__OPENDDS_IDL=0x030900 -D__OPENDDS_IDL_HAS_FIXED "-I"D:\path\to\thirdparty\OpenDDS "" C:\path\to\AppData\Local\Temp\tao-idli_ynmjvL.cpp

c1: fatal error C1083: Cannot open source file : '' : No such file or directory
tao-idli_ynmjvL.cpp
opendds_idl: preprocessor "CL.EXE" returned with an error

Используя другую командную строку VS2015 (командная строка разработчика для VS2015), мне удалось скомпилировать ее без проблем.

Подробности:

>opendds_idl -v TestData.idl
opendds_idl: preprocessing TestData.idl
opendds_idl: spawning: CL.EXE -D__TAO_IDL=0x060200 -I. -I. -nologo -E -I. -D__OPENDDS_IDL=0x030900 -D__OPENDDS_IDL_HAS_FIXED -ID:\path\to\thirdparty\OpenDDS C:\paths\to\AppData\Local\Temp\tao-idli_lDpVP9.cpp
tao-idli_lDpVP9.cpp
opendds_idl: parsing TestData.idl
processing TestData.idl
opendds_idl: BE processing on TestData.idl
MODULE: CORBA
MODULE: BasicIOTest
STRUCT: TestData

Это будет ошибка?

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]