致命错误C1083在IDL文件上使用OPENDDS_IDL工具时

Fatal error C1083 when using opendds_idl tool on IDL file

本文关键字:IDL OPENDDS 工具 C1083 文件 致命错误      更新时间:2023-10-16

我在Windows 10上使用OpenDDS_IDL工具遇到问题。

我已经从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;
  };
};

实际上,我正在使用VS2015 x64本机工具命令提示符,并且当OpenDDS_IDL正在格式化Cl.exe命令行时,似乎出了问题。

这是详细信息(约翰尼·威廉姆森(Johnny Willemsen)建议的-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:pathtothirdpartyOpenDDS "" C:pathtoAppDataLocalTemptao-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:pathtothirdpartyOpenDDS C:pathstoAppDataLocalTemptao-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

这是一个错误吗?