当サイトの管理人です
申し訳ございませんが、現在、フォーラムとメーリングリストの連携に不具合が出ております。 フォーラムへの投稿はメーリングリストに反映されるので、メーリングリストで返信していますが、 それがこのフォーラムへ反映されておりません。
下記URLからメーリングリストへご参加頂ければ、返信を確実に受け取れます。 よろしくお願い致します。
http://www.openrtm.org/mailman/listinfo/openrtm-beginners
メーリングリストで受け取った返信を以下に記します。
*** ここから ***
sequenceの型定義が間違っているのではないでしょうか?
struct MyData {RTC::Time tm; short shortVariable; long longVariable; sequence data; <- sequence<long> data; のように型指定が必要 };
それとも、フォーラムに書き込んだために <> の部分が消えてしまっただけですかね。 #念のため<>は全角で入力してみました。
試しにLinux上にそのIDLファイルを持って行って、
$ omniidl -bcxx MyDataType.idl
のようにコンパイルしてみてください。
#テスト <long> <long>
*** ここまで ***
環境 Windows 8.1 64bit VisualStudio 2013 Express Desktop OpenRTM-aist C++
1.1.1 64bit (Visual Studio 2013用) Python-2.7.9 64bit PyYAML-3.11 64bit
Cmake 3.2.1 Doxygen 1.8.9.1
Eclipseの設定->RtcBuilderにサンプルにあった以下のようなユーザー定義のIDLファイルを指定し
MyDataType.idl ------------------------------ #include "BasicDataType.idl"
struct MyData { RTC::Time tm; short shortVariable; long longVariable;
sequence data; }; -------------------------------
データポートにMyData型を指定してコードを生成しました。
CMakeにてVS12 2013
64bitをターゲットにしてデフォルトのままプロジェクトを生成し
VisualStudioにて読み込ませてビルドを行ったところ、
エラー 1 error MSB6006: "cmd.exe" はコード 9009
を伴って終了しました。 C:\Program Files
(x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets 170 5
MyDataType_TGT のようなエラーが出て、
IDLファイルから自動生成されるファイル(MyDataTypeStub.hなど)が見つからないというエラーがその後に続きました。
以下のことは試しましたが解決しませんでした
ユーザーアカウント制御OFF
VisualStudioを管理者権限で実行
VisualStudioの再インストール OpenRTMの再インストール
ユーザー定義型を使わなければビルドは通り、動作も確認できました。
Ubuntu14.04で同じように生成したコードは(Ubuntu上では)ビルドでき、動作しました。
こちらの環境が壊れているだけでしょうか、
それともなにか必要な操作があるのでしょうか?
教えていただけると助かります。
以上です。よろしくお願いします。
_______________________________________________
openrtm-beginners mailing list
openrtm-beginners@openrtm.org
http://www.openrtm.org/mailman/listinfo/openrtm-beginners