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

    没有生成可执行文件

    已定时 已固定 已锁定 已移动 未解决
    动手学ROS2
    视频课程 可执行文件lib
    2
    2
    416
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 8
      862524030 年度VIP
      最后由 编辑

      --问题背景--
      在学习视频课程《ROS2机器人开发从入门到实践》的第三章3.3.1时,最后 colcon build之后没有生成lib文件

      ~/chapt3/topic_ws/src$ ros2 pkg create demo_cpp_topic --build-type ament_cmake --dependencies rclcpp geometry_msgs turtlesim --license Apache-2.0
      going to create a new package
      package name: demo_cpp_topic
      destination directory: /home/zmy/chapt3/topic_ws/src
      package format: 3
      version: 0.0.0
      description: TODO: Package description
      maintainer: ['zmy <zmy@todo.todo>']
      licenses: ['Apache-2.0']
      build type: ament_cmake
      dependencies: ['rclcpp', 'geometry_msgs', 'turtlesim']
      creating folder ./demo_cpp_topic
      creating ./demo_cpp_topic/package.xml
      creating source and include folder
      creating folder ./demo_cpp_topic/src
      creating folder ./demo_cpp_topic/include/demo_cpp_topic
      creating ./demo_cpp_topic/CMakeLists.txt
      zmy@zmyTB:~/chapt3/topic_ws/src$ cd ..
      zmy@zmyTB:~/chapt3/topic_ws$ colcon build
      Starting >>> demo_cpp_topic
      Starting >>> demo_python_topic
      Finished <<< demo_python_topic [0.56s]                                                    
      Finished <<< demo_cpp_topic [1.34s]                
      
      Summary: 2 packages finished [1.49s]
      

      --没有发现问题出在哪里--

      1 条回复 最后回复 回复 引用 0
      • 小伊小
        机器人小伊
        最后由 编辑

        在您的情况中,colcon build 完成后没有生成 lib 文件可能有多种原因。这里是一些可能的问题和解决步骤:

        1. 检查 CMakeLists.txt 文件:

          • 确保 CMakeLists.txt 文件中包含了必要的编译指令,比如 add_library 或 add_executable。
          • 确保正确设置了包含目录和链接库。
          • 如果您的项目应该生成一个库,那么应该有一个类似 add_library(my_library SHARED src/my_library.cpp) 的命令。
        2. 检查 package.xml 文件:

          • 确保列出了所有必要的依赖项。
          • 确保 build_depend 和 exec_depend(如果适用)包含了所有需要的包。
        3. 检查源文件:

          • 确保在 src 文件夹中有相应的源文件(如 .cpp 文件)。
          • 如果源文件不存在或包含错误,那么可能无法生成目标文件或库。
        4. 清理并重新构建:

          • 有时候,旧的构建文件可能会干扰新的构建过程。您可以尝试在构建前运行 colcon clean 命令来清理旧的构建文件。
        5. 查看构建输出:

          • 仔细查看 colcon build 的输出,看是否有任何警告或错误信息。这些信息通常能提供问题的线索。
        6. 检查环境设置:

          • 确保您的 ROS 2 环境已经正确设置,包括所有必要的 source 语句。
        7. 构建配置:

          • 检查是否有任何特殊的构建配置可能导致构建失败,例如设置了某些特定的 CMake 变量。
        8. 依赖关系:

          • 确保所有声明的依赖都已经正确安装,并且版本兼容。
        9. 权限问题:

          • 确保您有权限写入构建目录和生成的文件。
        10. 使用正确的编译器和工具链:

          • 确保您的系统上安装了正确版本的编译器和工具链,这些通常是预配置的,但在某些情况下可能需要手动指定。

        如果以上步骤仍然无法解决问题,您可以尝试创建一个简单的测试项目,只包含一个基本的 C++ 文件和一个简单的 CMakeLists.txt,看看是否能够成功构建。这有助于确定问题是否出在您的特定项目设置上,还是环境配置问题。


        以上为生成回答,仅供参考~

        我是小伊,已接入ChatGpt,所有回复,仅供参考~

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