Исполняемый файл ROS catkin_make не создается в devel

Я создал пакет ROS и добавил в CMakeLists.txt соответствующие строки для создания исполняемого файла.

add_executable(exe_name src/file.cpp)
target_link_libraries(exe_name $LIBRARIES)

Когда я запускаю catkin_make в корне рабочей области, исполняемый файл создается в WORKSPACE/build/PACKAGE_NAME/, а не в

WORKSPACE/devel/lib/PACKAGE_NAME/

Проблема в том, что теперь, когда я запускаю rosrun PACKAGE_NAME exe_name, имя исполняемого файла (exe_name) не найдено. Любые идеи, почему это может произойти?

Изменить — добавлен полный файл CMakeLists.txt

cmake_minimum_required(VERSION 2.8.3)
project(flea3ros)


find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  std_msgs
  sensor_msgs
  cv_bridge
  image_transport
)
find_package(OpenCV 2)

include_directories(
  ${catkin_INCLUDE_DIRS}
  ${OpenCV_INCLUDE_DIRS}
  /usr/include/flycapture
)
add_executable(flea3syncros src/asyncRos.cpp)
add_executable(flea3ros src/GigEGrabEx.cpp)
add_executable(flea3config src/GigEConfig.cpp)
add_executable(saveImages src/save_images.cpp)
target_link_libraries(flea3ros ${catkin_LIBRARIES} ${OpenCV_LIBS} flycapture)
target_link_libraries(flea3syncros ${catkin_LIBRARIES} ${OpenCV_LIBS} flycapture)
target_link_libraries(flea3config ${catkin_LIBRARIES} ${OpenCV_LIBS} flycapture)
target_link_libraries(saveImages  ${catkin_LIBRARIES} ${OpenCV_LIBS})

person Odedy    schedule 26.11.2014    source источник
comment
Странно, я не вижу здесь ничего плохого. Пробовали ли вы удалить build/ и devel/, а затем запустить catkin_make, чтобы все сгенерировалось по-новому? (для меня это часто решало проблемы со сборкой сережек)   -  person luator    schedule 26.11.2014
comment
Пробовал так, тоже не получилось. Странно то, что в папке devel создаются другие пакеты, поэтому я не знаю, в чем проблема.   -  person Odedy    schedule 27.11.2014
comment
Так что проблема, скорее всего, где-то внутри пакета. Не могли бы вы предоставить полный CMakeLists.txt пакета. Возможно, проблема скрыта там.   -  person luator    schedule 28.11.2014


Ответы (1)


Макрос catkin_package отсутствует в вашем CMakeLists.txt. Добавьте это после раздела find_package:

###################################
## catkin specific configuration ##
###################################
## The catkin_package macro generates cmake config files for your package
## Declare things to be passed to dependent projects
## INCLUDE_DIRS: uncomment this if you package contains header files
## LIBRARIES: libraries you create in this project that dependent projects also need
## CATKIN_DEPENDS: catkin_packages dependent projects also need
## DEPENDS: system dependencies of this project that dependent projects also need
catkin_package(
#  INCLUDE_DIRS include
#  LIBRARIES compute_cdist
#  CATKIN_DEPENDS roscpp visualization_msgs robot_model_helper compute_cdist
#  DEPENDS assimp Eigen mlpack
)

(Комментарии конечно можно убрать, я просто скопировал весь блок, чтобы описание содержалось)

person luator    schedule 02.12.2014