0

Windows 10 の opendds_idl ツールで問題が発生しています。

静的リンク モードを有効にし、x64 プラットフォームを使用して、OpenDDS ソース コードから Visual Studio 2015 で OpenDDS ライブラリとツールを生成しました。

コマンドラインで

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 コマンド ラインをフォーマットしているときに問題が発生したようです。

詳細は次のとおりです(ジョニー・ウィレムセンが推奨する -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

それはバグでしょうか?

于 2016-12-10T01:29:21.810 に答える