我遇到了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;
};
};
答案 0 :(得分: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的Developer命令提示符)我成功编译它没有问题。
详细说明:
>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
这会是一个错误吗?