2016-10-14 13 views
2

ソースを共有せずにROSパッケージを配布する方法はありますか?ソースを共有せずにROSパッケージを配布する方法

私は、ユーザーが依存関係の問題なしにROSノードを実行できるようにしたいだけです。

私はROSがオープンソースプロジェクトであることは知っていますが、コードを共有することはできません。

答えて

6

解決方法1:あなたのパッケージCMakelists.txtで

、インストールディレクティブを追加します。それはこのように書きます:

install(TARGETS 
    #list of nodes 
    DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 
) 

install(TARGETS 
    #list of shared libraries 
    ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 
    LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 
) 

install(FILES 
    #list of necessary files (xml...) 
    DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 
) 

install(DIRECTORY 
    include/${PROJECT_NAME}/ 
    DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 
    PATTERN ".svn" EXCLUDE 
    PATTERN ".git" EXCLUDE 
) 

$ catkin_make 
$ catkin_make install 

を使用して、あなたがコードを共有せずに実行するために必要なバイナリを作成することができます。これにより、catkinワークスペースに通常の/devel/buildのフォルダに別のフォルダ/installが作成されます。

注:あなたが使用して、インストールフォルダを指定することができます。

$ catkin_make -DCMAKE_INSTALL_PREFIX=path/to/folder install 

だけthe binaries need to be compiled for the correct architecture that the other computer hasとあなたがcatkin_makeを起動するとき、あなたのワークスペースではありません任意の依存関係も前に、他の部分でインストールする必要があることを確認してください使用されています。

/installフォルダがあるので、&を送信してください。

ここで重要な部分は、他のマシン.bashrcにinstall/setup.bashを追加することです。そうしないと、ROSは分散したファイルを見つけられません。

$ echo "source ~/catkin_ws/install/setup.bash" >> ~/.bashrc 

詳細については、hereを参照してください。

解決方法2:

あなたはブルームを持つことができ、他のマシンイオン、あなたはdpkg -iでそれをインストールすることができ、あなたのdeb-srcのを生成し、その後、あなたはそれをコンパイルし、.debファイルをdistrbuteすることができます。これはthe pre-release tutorialのこの部分に従うことによって行うことができます。

+0

これは既に他のマシンで設定されていた環境と競合しますか? – Bernardo

+0

他のマシンに同じパッケージが既に存在する場合にのみ、私はそう思っています... – Vtik

+1

他のマシンでどのようにノードを正確に実行しますか?ノードを含むパッケージはないので、私はrosrunを使うことができません。彼らはすべてインストールフォルダにあります(遅く返事をして申し訳ありませんが、これだけに戻ります) – Bernardo

0

私はこれをcatkin_make installまたはブルームで解決できませんでした。幸いにも、私はワークスペースがあったところでハードディスクを共有することが許されていたので、私の.pyスクリプトから.pycファイルを作成して実行可能にするだけでした。

関連する問題