构建catkin包(ROS)时“没有规则制造目标”错误

时间:2017-10-05 08:35:06

标签: lua cmake ros

我正在尝试在名为gazebo_test的ros包中使用lua,但无法将lua库链接到包。虽然正在使用catkin_make构建包“没有规则来制造目标错误”。我已经搜索过了,但没有任何帮助。正如在大多数答案中给出的那样,我已经检查了路径中的文件,但仍然无法构建。

以下是我的CMakeLists.txt文件:

cmake_minimum_required(VERSION 2.8.3)
project(gazebo_test)
add_compile_options(-std=c++11)

set(LUA_INCLUDE_DIR /usr/include/lua5.2)
set(LUA_LIBRARY /usr/lib/x86_64-linux-gnu/liblua5.2.so)

find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs gazebo_ros gazebo_msgs tf sensor_msgs image_transport cv_bridge)

find_package(gazebo REQUIRED)

catkin_package(DEPENDS roscpp gazebo_ros)

include_directories(${catkin_INCLUDE_DIRS} ${Boost_INCLUDE_DIR} ${GAZEBO_INCLUDE_DIRS} ${LUA_INCLUDE_DIR})

link_directories(${GAZEBO_LIBRARY_DIRS})
add_executable(deepQ_test_script src/deepQ_test_script.cpp)

target_link_libraries (deepQ_test_script ${LUA_LIBRARY})

发生ERROR后:

make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/liblua5.2.so', needed by '/home/sudhir/ros_ws/devel/lib/gazebo_test/deepQ_test_script'.

我已经尝试过已经完成的事情了

  • 正确检查了liblua5.2.so的路径是否正确,文件是否存在。
  • 我尝试将头文件和.so文件复制到包的include和libs目录,然后使用CMakeLists.txt更新${PROJECT_SOURCE_DIR}中的路径,但仍然出现相同的错误。
  • 将.so文件的路径添加到PKG_CONFIG_PATH变量,以下是pkg-config命令的输出
  • pkg-config --libs lua5.2 -----> -llua5.2
  • pkg-config --cflags lua5.2 ----> -I / USR /包含/ lua5.2

仍然是错误。

请帮助。提前谢谢。

0 个答案:

没有答案