ROS教程一續——Catkin Workspace (Catkin工作區)

       catkin工作區是一個用於修改,構建和安裝catkin軟件包的文件夾。以下是典型catkin工作空間佈局:

workspace_folder/         -- WORKSPACE
  src/                    -- SOURCE SPACE
    CMakeLists.txt        -- The 'toplevel' CMake file
    package_1/
      CMakeLists.txt
      package.xml
      ...
    package_n/
      CATKIN_IGNORE       -- Optional empty file to exclude package_n from being processed
      CMakeLists.txt
      package.xml
      ...
  build/                  -- BUILD SPACE
    CATKIN_IGNORE         -- Keeps catkin from walking this directory
  devel/                  -- DEVELOPMENT SPACE (set by CATKIN_DEVEL_PREFIX)
    bin/
    etc/
    include/
    lib/
    share/
    .catkin
    env.bash
    setup.bash
    setup.sh
    ...
  install/                -- INSTALL SPACE (set by CMAKE_INSTALL_PREFIX)
    bin/
    etc/
    include/
    lib/
    share/
    .catkin             
    env.bash
    setup.bash
    setup.sh
    ...

         catkin工作區最多可包含四個不同的空間,每個空間在軟件開發過程中起不同的作用。

         1.1Source Space

             Source Space包含catkin包的源代碼。可以在此處提取/簽出/克隆要構建的包的源代碼。此空間中的每個文件夾都包含一個或多個catkin包。通過配置,構建或安裝,此空間保持不變。Source Space的根目錄下包含一個CMakeLists.txt文件鏈接到catkin頂層。在配置工作區中的catkin項目期間,CMake將調用此文件。可以通過在Source Space目錄中調用catkin_init_workspace來創建它。

      1.2Build Space

     Build Space是調用CMake以在源空間中構建catkin包的地方。CMake和catkin將緩存信息和其他中間文件保存在此處。構建空間不必包含在工作空間內,也不必在源空間之外,但建議這樣做。

      1.3Development(Devel)Space

          Devel Space是在安裝之前放置構建目標的位置。在DevelSpace中組織目標的方式與它們的佈局相同。這提供了一個有用的測試和開發環境,不需要調用安裝步驟。develspace的位置由一個名爲CATKIN_DEVEL_PREFIX的catkin特定CMake變量控制,默認爲<build space> / develspace。因爲如果用戶在構建文件夾中調用cmake ..並且修改了當前目錄之外的內容,則可能會讓CMake感到困惑。但是,建議將devel space目錄設置爲構建空間目錄的對等項。

       1.4 Install Space

           構建目標後,可以通過調用安裝目標將它們安裝到安裝空間中,通常使用make install。安裝空間不必包含在工作空間中。由於安裝空間是由CMAKE_INSTALL_PREFIX設置的。它默認爲/ usr / local,不應該使用它(因爲卸載幾乎不可能,並且使用多個ROS分發也不起作用)。

      1.5 Result space

       當引用可以是開發空間或安裝空間的文件夾時,使用result space 清理空間。

     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章