鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    请问这个问题应该怎么解决

    已定时 已固定 已锁定 已移动
    ROS2机器人开发:从入门到实践
    ros2 ros2 linux
    1
    2
    177
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 3
      3249098553
      最后由 3249098553 编辑

      报错是[{
      "resource": "/home/lzx/桌面/chapt7/damo_pkg_cpp/src/cpp_node.cpp",
      "owner": "C/C++: IntelliSense",
      "code": "1696",
      "severity": 8,
      "message": "检测到 #include 错误。请更新 includePath。已为此翻译单元(/home/lzx/桌面/chapt7/damo_pkg_cpp/src/cpp_node.cpp)禁用波形曲线。",
      "source": "C/C++",
      "startLineNumber": 3,
      "startColumn": 1,
      "endLineNumber": 3,
      "endColumn": 33
      },{
      "resource": "/home/lzx/桌面/chapt7/damo_pkg_cpp/src/cpp_node.cpp",
      "owner": "C/C++: IntelliSense",
      "code": "1696",
      "severity": 8,
      "message": "无法打开 源 文件 "cv_bridge/cv_bridge.h"",
      "source": "C/C++",
      "startLineNumber": 3,
      "startColumn": 1,
      "endLineNumber": 3,
      "endColumn": 33
      }]

      程序是```

      #include "rclcpp/rclcpp.hpp"
      #include "sensor_msgs/msg/image.hpp"
      #include "cv_bridge/cv_bridge.h"
      #include "opencv2/opencv.hpp"
      #include "image_transport/image_transport.hpp"
      
      class TextOverlay : public rclcpp::Node 
      {
      public:
          TextOverlay() : Node("cpp_node") 
          {
              
              publisher_ = image_transport::create_publisher(this, "/turtlesim/sim_with_text");
              
      
              subscription_ = image_transport::create_subscription
              (
                  this,
                  "/turtlesim/sim",
                  [this](const sensor_msgs::msg::Image::ConstSharedPtr& msg) 
                  {
                      this->image_callback(msg);
                  },
                  "raw"
              );
          }
      
      private:
          void image_callback(const sensor_msgs::msg::Image::ConstSharedPtr& msg) 
          {
              try 
              {
                  
                  cv_bridge::CvImagePtr cv_ptr = cv_bridge::toCvCopy(msg, "bgr8");
                  
           
                  cv::putText(
                      cv_ptr->image, 
                      "2024214969", 
                      cv::Point(50, 50), 
                      cv::FONT_HERSHEY_SIMPLEX, 
                      1.0, 
                      cv::Scalar(0, 0, 255),  
                      2
                  );
                  
                
                  publisher_.publish(cv_ptr->toImageMsg());
              } 
              catch (const cv_bridge::Exception& e) 
              {
                  RCLCPP_ERROR(this->get_logger(), "cv_bridge error: %s", e.what());
              }
          }
      
          image_transport::Publisher publisher_;
          image_transport::Subscriber subscription_;
      };
      
      int main(int argc, char** argv) 
      {
          rclcpp::init(argc, argv);
          auto node = std::make_shared<TextOverlay>();
          rclcpp::spin(node);
          rclcpp::shutdown();
          return 0;
      }
      
      
      CMAKE是
      
      cmake_minimum_required(VERSION 3.8)
      project(damo_pkg_cpp)
      
      if(NOT CMAKE_CXX_STANDARD)
        set(CMAKE_CXX_STANDARD 14)
      endif()
      
      # find dependencies
      find_package(ament_cmake REQUIRED)
      # uncomment the following section in order to fill in
      # further dependencies manually.
      # find_package(<dependency> REQUIRED)
      find_package(OpenCV REQUIRED)  
      find_package(rclcpp REQUIRED)
      find_package(sensor_msgs REQUIRED)
      find_package(cv_bridge REQUIRED)
      find_package(image_transport REQUIRED)
      
      add_executable(cpp_node src/cpp_node.cpp)
      target_include_directories
      (
        cpp_node PRIVATE
        ${rclcpp_INCLUDE_DIRS}
        ${OpenCV_INCLUDE_DIRS}
        ${sensor_msgs_INCLUDE_DIRS}
        ${image_transport_INCLUDE_DIRS}
        ${cv_bridge_INCLUDE_DIRS}
      )
      target_link_libraries
      (
        cpp_node
        ${rclcpp_LIBRARIES}
        ${sensor_msgs_LIBRARIES}
        ${image_transport_LIBRARIES}
        ${cv_bridge_LIBRARIES}
        ${OpenCV_LIBRARIES}
      )
      
      install(TARGETS cpp_node
        DESTINATION lib/${PROJECT_NAME}
      )
      
      if(BUILD_TESTING)
        find_package(ament_lint_auto REQUIRED)
        # the following line skips the linter which checks for copyrights
        # comment the line when a copyright and license is added to all source files
        set(ament_cmake_copyright_FOUND TRUE)
        # the following line skips cpplint (only works in a git repo)
        # comment the line when this package is in a git repo and when
        # a copyright and license is added to all source files
        set(ament_cmake_cpplint_FOUND TRUE)
        ament_lint_auto_find_test_dependencies()
      endif()
      
      ament_package()
      
      
      
      json是```
      {
          "configurations": [
              {
                  "name": "Linux",
                  "includePath": [
                      "${workspaceFolder}/**",
                      "/opt/ros/jazzy/include/**",
                      "/usr/include/**",
                      "/usr/include/opencv4/**"
                      
                  ],
                  "defines": [],
                  "compilerPath": "/usr/bin/g++",
                  "cStandard": "c17",
                  "cppStandard": "gnu++14",
                  "intelliSenseMode": "linux-gcc-x64"
                  
              }
          ],
          "version": 4
      }
      
      3 1 条回复 最后回复 回复 引用 0
      • 3
        3249098553 @3249098553
        最后由 编辑

        此回复已被删除!
        1 条回复 最后回复 回复 引用 0
        • 第一个帖子
          最后一个帖子
        皖ICP备16016415号-7
        Powered by NodeBB | 鱼香ROS