4

Cmake で外部 github プロジェクトを追加する際に問題があります。目的は、ROS (Catkin) プロジェクトで github パッケージ ACDO を使用することです。インストール手順は、http: //acado.github.io/install_linux.htmlにあります。

ツールキット コードをダウンロードしてください。私たちの提案は、常に安定版ブランチをクローンすることです:

git clone https://github.com/acado/acado.git -b stable ACADOtoolkit

ACADOtoolkit フォルダーに移動し、アウトオブソース ビルド用のビルド フォルダーを作成します。

cd ACADOtoolkit  
mkdir build   
cd build

CMake を実行して makefile を生成し、ビルド プロセスを開始します。

cmake .. make

このパッケージを使用するには、ACADOtoolkit を次のフォルダーにダウンロードしてビルドします。

catkin_ws/src/myProj/thirdparty/

このため、ACADOtoolkit を外部プロジェクトとして追加します。プロジェクトをサードパーティのフォルダーに git clone して、次のようにする必要があります。

catkin_ws/src/myProj/thirdparty/ACADOtoolkit

その後、ビルド フォルダー catkin_ws/src/myProj/thirdparty/ACADOtoolkit/build を作成し、プロジェクトをビルドする必要があります。

cd catkin_ws/src/myProj/thirdparty/ACADOtoolkit/build
cmake ..
make

以下を使用して、プロジェクトを正常に catkin_ws/src/myProj/thirdparty/ にダウンロードできます。

 ExternalProject_Add(acadooo
   DOWNLOAD_COMMAND git clone https://github.com/acado/acado.git -b stable ACADOtoolkit
   DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/
 )

残念ながら、後でシステムを構築することはできません

 ExternalProject_Add(acado
    DOWNLOAD_COMMAND git clone https://github.com/acado/acado.git -b stable ACADOtoolkit
    DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/
    BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/ACADOtoolkit/build/
    BUILD_COMMAND make 
 )

build フォルダーは ACACADOtoolkit フォルダー内に作成する必要があるため、受け取る

destination path 'ACADOtoolkit' already exists and is not an empty directory.

ソースのビルドも同じエラーで終了します。

 ExternalProject_Add(acado
    DOWNLOAD_COMMAND git clone https://github.com/acado/acado.git -b stable ACADOtoolkit
    DOWNLOAD_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/
    SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/build/
    BUILD_COMMAND make 
    BUILD_IN_SOURCE 1
 )

さらに、プロジェクトをビルドするたびに、ディレクトリを事前に削除する必要があります。これらの問題を解決してソースに組み込む方法はありますか?

4

1 に答える 1