- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在尝试使用在 catkin 中声明为 cmake 接口(interface)库的仅包含 c++ header 的库。这个库应该被 catkin_ws/src 中的其他包使用。我能够使用 catkin_make
编译所有包,但不能使用 catkin build
。
catkin build
在依赖包中的 cmake 命令 find_package(... interface_lib)
中失败。
以下示例的错误消息为:
Project 'testnode' tried to find library 'interface_library'. The library is neither a target nor built/installed properly. Did you compile project 'interface_library'? Did you find_package() it before the subdirectory containing its code is included?
我需要如何设置 CMakeLists.txt 和 package.xml 文件才能使 catkin build
与接口(interface)库一起工作?
文件:catkin_ws/src/interface_library/include/interface_library.hpp
#pragma once
#define RATE 10
文件:catkin_ws/src/interface_library/CMakeLists.txt
cmake_minimum_required(VERSION 3.0.0)
project(interface_library)
find_package(catkin REQUIRED)
catkin_package(INCLUDE_DIRS include
LIBRARIES ${PROJECT_NAME})
add_library(${PROJECT_NAME} INTERFACE)
target_include_directories(${PROJECT_NAME} INTERFACE include)
文件:catkin_ws/src/interface_library/package.xml
<package format="2">
<name>interface_library</name>
<description>Test interface library</description>
<version>0.0.1</version>
<maintainer email="master@disaster.com">Master of Disaster</maintainer>
<license>MIT</license>
<buildtool_depend>catkin</buildtool_depend>
</package>
文件:catkin_ws/src/testnode/src/testnode.cpp
#include <iostream>
#include "interface_library.hpp"
int main(void)
{
std::cout << RATE << std::endl;
}
文件:catkin_ws/src/testnode/CMakeLists.txt
cmake_minimum_required(VERSION 3.0.0)
project(testnode)
find_package(catkin REQUIRED COMPONENTS interface_library)
catkin_package()
include_directories(${catkin_INCLUDE_DIRS})
add_executable(${PROJECT_NAME}_node src/testnode.cpp)
文件:catkin_ws/src/testnode/package.xml
<?xml version="1.0"?>
<package format="2">
<name>testnode</name>
<version>0.0.0</version>
<description>The testnode package</description>
<maintainer email="master@disaster.com">Master of Disaster</maintainer>
<license>MIT</license>
<buildtool_depend>catkin</buildtool_depend>
<build_depend>interface_library</build_depend>
<build_export_depend>interface_library</build_export_depend>
<exec_depend>interface_library</exec_depend>
</package>
最佳答案
我刚遇到这个问题。解决方法是从文件 interface_library/CMakeLists.txt 中的 catkin_package
中删除行 LIBRARIES ${PROJECT_NAME}
。
This answer 提到 LIBRARIES
行要求您实际构建一个目标(并且 the documentation 说如果目标名称与已安装的名称不对应,它目前会中断),所以我猜只是目前不是为处理接口(interface)库而编写的。
关于c++ - 将 Catkin 与 CMake 接口(interface)库一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53267571/
我想在 catkin 工作区中构建我的项目。执行 catkin_make 后我得到了这些错误: 6:11: error: ‘vector’ is not a member of ‘cv’
我正在学习这些教程: ROS installation in Ubuntu Create your ROS workspace . 在步骤 catkin_make 中出现错误: -- The C co
我已经在Ubuntu 14.04.5中安装了ROS indigo和gazebo2软件包。当我尝试使用 catkin 命令时,我得到: catkin_init_workspace:找不到命令 所以,我尝
当catkin build尚未开始实际构建文件时,我中断了(Ctrl+C)它的执行。现在,我无法再次运行它,因为某些文件似乎已损坏。当我在工作区上执行 catkin build 时,出现此错误: $
编译器提示未找到消息 (.../message.h)。请参阅下面我的 CMakeLists.txt cmake_minimum_required(VERSION 2.8.3) project(my_p
我正在尝试用 catkin 构建这个 ROS 包 https://github.com/toddhester/rl-texplore-ros-pkg但它无法构建“rl_experiment”并出现以下
我正在尝试在 ROS 中运行 python 代码,它包含一个我必须 pip 安装的模块(不是为 ROS 制作的模块)。当我尝试在 roscore 运行的情况下在我的 catkin 工作区中运行代码时,
我正在尝试安装roslaunch但它说我需要安装roslib,然后说我需要安装catkin,它说我需要安装python-catkin-pkg。 我先调用source /opt/ros/kinetic/
我想在docker上使用自定义的ros-indigo。我准备了以下Dockerfile FROM ros:indigo-robot RUN echo "source /opt/ros/indigo/s
我创建了一个ros catkin包,并成功导入到QtCreator中。尽管编译没有问题,但我的包的 CMakeLists 文件中提到的 include 目录没有被索引。 可能是什么问题?如果您需要更多
我可以在ROS的catkin工作区中编译安装ROS包。如何将 catkin 工作区中的包导出到 .deb 文件,以便我可以在其他机器上安装和使用它? 我的 ROS 版本是 ROS Indigo,操作系
我正在运行 ROS Indigo。我有一个简单的问题:我的包中有一个实用程序类,我希望可以从我们的脚本中调用它。只需要在我们自己的包内调用即可;我不需要它可用于其他 ROS 包。 我在文件 HandC
目前,我使用以下别名来执行此操作: alias ck='export ck_dir=`pwd` && cd ~/catkin_ws && catkin_make && cd $ck_dir' 这只有在
我刚开始使用 ROS,想将我的文件保存在 github 上。不幸的是创建了一个相当复杂的文件系统。 我如何在 github 上管理我自己编写的代码,因为它非常 stash 在 catkin 工作区中,
我有 Ubuntu 20.04 我刚刚安装了 ROS 有意识的和柳絮。 但是每次我做catkin build我有一个错误列表,无法继续。你们能帮我解决这个问题吗? Traceback (most re
我目前正在尝试使用在 catkin 中声明为 cmake 接口(interface)库的仅包含 c++ header 的库。这个库应该被 catkin_ws/src 中的其他包使用。我能够使用 cat
我使用catkin编译CUDA项目时遇到了一个我认为是链接器错误的问题。下面是源代码的片段。当我尝试运行catkin build时出现错误:error In function `curand_init
我正尝试在 C++ 中运行以下命令: #include #include "pcl/pcl_base.h" #include "pcl/PointIndices.h" #include "pcl/c
我目前无法使用 cv_bridge。我收到这个编译错误 CMake Error at /opt/ros/indigo/share/cv_bridge/cmake/cv_bridgeConfig.cma
我正在尝试使用 publisher-subcriber no 通过从我的网络摄像头流式传输图像来运行我的对象识别程序。在我的程序中,我使用的是 opencv_dnn 库提供的 readNetFromT
我是一名优秀的程序员,十分优秀!