ロボット、千葉ロッテマリーンズについていいかげんなことを書きます。
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
WindowsでRTCのインストーラーを作成しようとしたら失敗しました。
PACKAGEというプロジェクトをビルドしたら作成できるはずなのですが、エラーが出ます。
ビルドすると_CPack_Packages/win32/NSISにproject.nsiというファイルが生成されて、このファイルからNSISでインストーラーを作成するみたいなのですが、そこでエラーが出ているみたいです。
ログを見てみるとcmake/rt_middleware_logo.ico、cmake/rt_middleware_logo.bmpというファイルを探しているみたいなのですが、cmakeフォルダにそのようなファイルは存在しません。
画像ファイルをこちらで作成して上のエラーを解決しても、Deselect_required_by_componentというマクロでエラーが出るみたいですね。
そこを乗り越えればインストーラーは作成できるようですが、Deselect_required_by_componentの何が悪いのかが分からないのでどう修正すれば良いのかが分かりません。
詳しい人は教えてください。
以前はNSISではなくWIXでインストーラー作成するようになっていたと思うのですが、変更したのでしょうかね?
cpack_options.cmake.inを読んでみた感じWIXに関する設定も記述してあるように見えるのですが、何故NSISでインストーラーを作成するようになっているのかは分かりません。
確か以前は、
C:\Program Files\OpenRTM-aist\1.1\components\C++\RTC名
にインストールされるようになっていたはずなのですが、
C:\Program Files\RTC名バージョン名
に変更されています。
まあデフォルトがこの場所と言うだけで、こちらで変更はできるみたいですけど。
以前のバージョンでインストーラーを作成したことがないのでハッキリしないのですが、このページには上記の場所にインストールされると書いてあります。
ちなみにINSTALLというプロジェクトをビルドした場合もC:\Program Files\RTC名バージョン名にインストールされます。
以前のようにcomponentsという名前のフォルダにインストールしてくれた方が分かりやすいと思いますが、それが仕様なので仕方ないです。
まあでも個々のRTCでインストーラーを作成するメリットはあまりないようには思います。
できれば複数のRTCをまとめてインストールできた方が簡単ですからね。
というわけでCMakeによるプロジェクト生成、ビルド、インストールまでを簡単にするツールを作ってみました。
ここからダウンロードできます。
GUIの追加ボタンを押してファイルを開くダイアログでCMakeLists.txtを選択してください。
そして保存するといくつかバッチファイル、シェルスクリプトが生成されます。
生成されたバッチファイルを実行すると、選択した全てのCMakeLists.txtでプロジェクト生成、ビルド、インストールをすることができます。
自分で使う分には簡単になったように思いますが、人が使う分にはまだ改善が必要のような感じです。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
PACKAGEというプロジェクトをビルドしたら作成できるはずなのですが、エラーが出ます。
ビルドすると_CPack_Packages/win32/NSISにproject.nsiというファイルが生成されて、このファイルからNSISでインストーラーを作成するみたいなのですが、そこでエラーが出ているみたいです。
ログを見てみるとcmake/rt_middleware_logo.ico、cmake/rt_middleware_logo.bmpというファイルを探しているみたいなのですが、cmakeフォルダにそのようなファイルは存在しません。
画像ファイルをこちらで作成して上のエラーを解決しても、Deselect_required_by_componentというマクロでエラーが出るみたいですね。
そこを乗り越えればインストーラーは作成できるようですが、Deselect_required_by_componentの何が悪いのかが分からないのでどう修正すれば良いのかが分かりません。
詳しい人は教えてください。
以前はNSISではなくWIXでインストーラー作成するようになっていたと思うのですが、変更したのでしょうかね?
cpack_options.cmake.inを読んでみた感じWIXに関する設定も記述してあるように見えるのですが、何故NSISでインストーラーを作成するようになっているのかは分かりません。
確か以前は、
C:\Program Files\OpenRTM-aist\1.1\components\C++\RTC名
にインストールされるようになっていたはずなのですが、
C:\Program Files\RTC名バージョン名
に変更されています。
まあデフォルトがこの場所と言うだけで、こちらで変更はできるみたいですけど。
以前のバージョンでインストーラーを作成したことがないのでハッキリしないのですが、このページには上記の場所にインストールされると書いてあります。
ちなみにINSTALLというプロジェクトをビルドした場合もC:\Program Files\RTC名バージョン名にインストールされます。
以前のようにcomponentsという名前のフォルダにインストールしてくれた方が分かりやすいと思いますが、それが仕様なので仕方ないです。
まあでも個々のRTCでインストーラーを作成するメリットはあまりないようには思います。
できれば複数のRTCをまとめてインストールできた方が簡単ですからね。
というわけでCMakeによるプロジェクト生成、ビルド、インストールまでを簡単にするツールを作ってみました。
ここからダウンロードできます。
GUIの追加ボタンを押してファイルを開くダイアログでCMakeLists.txtを選択してください。
そして保存するといくつかバッチファイル、シェルスクリプトが生成されます。
生成されたバッチファイルを実行すると、選択した全てのCMakeLists.txtでプロジェクト生成、ビルド、インストールをすることができます。
自分で使う分には簡単になったように思いますが、人が使う分にはまだ改善が必要のような感じです。
にほんブログ村のロボットのカテゴリから
全然人が来ない・・・
PR
この記事にコメントする