0

我在 Windows 10 上遇到了 opendds_idl 工具的问题。

我已经使用 Visual Studio 2015 从 OpenDDS 源代码生成了 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;
  };
};
4

1 回答 1

1

其实我用的是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:\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

这会是一个错误吗?

于 2016-12-10T01:29:21.810 回答