pipe.cpp

本文详细探讨了如何在Unix操作系统中使用C++编程语言实现多进程间的管道通信。通过创建管道,实现父进程与子进程的数据交换,展示了C++在系统级编程中的应用。
/*
 * function: 演示使用pipe函数创建管道,并完成进程间通信
 *
 * int pipe(int fildes[2]); // 成功:0,失败:-1,设置errno
 *
 * 2020-12-01
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

int main(int argc, char *argv[])
{
    int fd[2] = {0};    // fd[0]-读端,fd[1]-写端

    int ret = pipe(fd);

    if (ret < 0)
    {   
        perror("pipe faild");
        exit(1);
    }   

    pid_t pid = fork();

    if (pid < 0)
    {   
        perror("fork faild");
        exit(1);
    }   
    else if (pid == 0)  // 子进程
    {   
        char buf[] = "hello world";

        close(fd[0]);
        write(fd[1], buf, strlen(buf)); // 向fd[1]写
        printf("子进程完成写操作\n");
        close(fd[1]);
    }
    else    // 父进程
    {
        char buf[256] = {0};

        close(fd[1]);
        read(fd[0], buf, sizeof(buf));  // 阻塞读fd[0]
        printf("父进程完成读操作\n");
        printf("buf = %s\n", buf);
        close(fd[0]);
    }

    return 0;
}

pipe.cpp

lixing@DESKTOP-2PJK7EV:~/catkin_ws/Livox-SDK2/build$ make Scanning dependencies of target livox_lidar_sdk_shared [ 1%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/__/3rdparty/FastCRC/FastCRCsw.cpp.o [ 2%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/device_manager.cpp.o [ 3%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/livox_lidar_sdk.cpp.o [ 4%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/params_check.cpp.o [ 6%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/parse_cfg_file.cpp.o [ 7%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/upgrade_manager.cpp.o [ 8%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/base/io_loop.cpp.o [ 9%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/base/thread_base.cpp.o [ 10%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/base/io_thread.cpp.o [ 12%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/base/logging.cpp.o [ 13%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/base/network/unix/network_util.cpp.o [ 14%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/base/multiple_io/multiple_io_base.cpp.o [ 15%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/base/multiple_io/multiple_io_epoll.cpp.o [ 16%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/base/multiple_io/multiple_io_poll.cpp.o [ 18%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/base/multiple_io/multiple_io_select.cpp.o [ 19%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/base/multiple_io/multiple_io_kqueue.cpp.o [ 20%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/base/wake_up/unix/wake_up_pipe.cpp.o [ 21%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/comm/comm_port.cpp.o [ 22%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/comm/sdk_protocol.cpp.o [ 24%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/comm/generate_seq.cpp.o [ 25%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/upgrade/firmware.cpp.o [ 26%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/upgrade/livox_lidar_upgrader.cpp.o [ 27%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/logger_handler/logger_manager.cpp.o [ 28%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/logger_handler/logger_handler.cpp.o [ 30%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/logger_handler/file_manager.cpp.o [ 31%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/data_handler/data_handler.cpp.o [ 32%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/command_handler/command_impl.cpp.o [ 33%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/command_handler/general_command_handler.cpp.o [ 34%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/command_handler/hap_command_handler.cpp.o In file included from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/stream.h:19, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/memorystream.h:22, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/encodedstream.h:22, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/document.h:26, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/command_handler/parse_lidar_state_info.h:38, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/command_handler/hap_command_handler.cpp:37: /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/rapidjson.h:542:29: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas] 542 | #define RAPIDJSON_PRAGMA(x) _Pragma(RAPIDJSON_STRINGIFY(x)) | ^~~~~~~ /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/rapidjson.h:543:34: note: in expansion of macro ‘RAPIDJSON_PRAGMA’ 543 | #define RAPIDJSON_DIAG_PRAGMA(x) RAPIDJSON_PRAGMA(GCC diagnostic x) | ^~~~~~~~~~~~~~~~ /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/rapidjson.h:545:3: note: in expansion of macro ‘RAPIDJSON_DIAG_PRAGMA’ 545 | RAPIDJSON_DIAG_PRAGMA(ignored RAPIDJSON_STRINGIFY(RAPIDJSON_JOIN(-W, x))) | ^~~~~~~~~~~~~~~~~~~~~ /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/internal/dtoa.h:36:1: note: in expansion of macro ‘RAPIDJSON_DIAG_OFF’ 36 | RAPIDJSON_DIAG_OFF(array - bounds) // some gcc versions generate wrong warnings | ^~~~~~~~~~~~~~~~~~ [ 36%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/command_handler/mid360_command_handler.cpp.o In file included from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/stream.h:19, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/memorystream.h:22, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/encodedstream.h:22, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/document.h:26, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/command_handler/parse_lidar_state_info.h:38, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/command_handler/mid360_command_handler.cpp:37: /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/rapidjson.h:542:29: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas] 542 | #define RAPIDJSON_PRAGMA(x) _Pragma(RAPIDJSON_STRINGIFY(x)) | ^~~~~~~ /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/rapidjson.h:543:34: note: in expansion of macro ‘RAPIDJSON_PRAGMA’ 543 | #define RAPIDJSON_DIAG_PRAGMA(x) RAPIDJSON_PRAGMA(GCC diagnostic x) | ^~~~~~~~~~~~~~~~ /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/rapidjson.h:545:3: note: in expansion of macro ‘RAPIDJSON_DIAG_PRAGMA’ 545 | RAPIDJSON_DIAG_PRAGMA(ignored RAPIDJSON_STRINGIFY(RAPIDJSON_JOIN(-W, x))) | ^~~~~~~~~~~~~~~~~~~~~ /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/internal/dtoa.h:36:1: note: in expansion of macro ‘RAPIDJSON_DIAG_OFF’ 36 | RAPIDJSON_DIAG_OFF(array - bounds) // some gcc versions generate wrong warnings | ^~~~~~~~~~~~~~~~~~ [ 37%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/command_handler/build_request.cpp.o [ 38%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/command_handler/parse_lidar_state_info.cpp.o In file included from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/stream.h:19, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/memorystream.h:22, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/encodedstream.h:22, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/document.h:26, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/command_handler/parse_lidar_state_info.h:38, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/command_handler/parse_lidar_state_info.cpp:2: /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/rapidjson.h:542:29: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas] 542 | #define RAPIDJSON_PRAGMA(x) _Pragma(RAPIDJSON_STRINGIFY(x)) | ^~~~~~~ /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/rapidjson.h:543:34: note: in expansion of macro ‘RAPIDJSON_PRAGMA’ 543 | #define RAPIDJSON_DIAG_PRAGMA(x) RAPIDJSON_PRAGMA(GCC diagnostic x) | ^~~~~~~~~~~~~~~~ /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/rapidjson.h:545:3: note: in expansion of macro ‘RAPIDJSON_DIAG_PRAGMA’ 545 | RAPIDJSON_DIAG_PRAGMA(ignored RAPIDJSON_STRINGIFY(RAPIDJSON_JOIN(-W, x))) | ^~~~~~~~~~~~~~~~~~~~~ /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/internal/dtoa.h:36:1: note: in expansion of macro ‘RAPIDJSON_DIAG_OFF’ 36 | RAPIDJSON_DIAG_OFF(array - bounds) // some gcc versions generate wrong warnings | ^~~~~~~~~~~~~~~~~~ [ 39%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/debug_point_cloud_handler/debug_point_cloud_manager.cpp.o [ 40%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_shared.dir/debug_point_cloud_handler/debug_point_cloud_handler.cpp.o [ 42%] Linking CXX shared library liblivox_lidar_sdk_shared.so [ 42%] Built target livox_lidar_sdk_shared Scanning dependencies of target livox_lidar_sdk_static [ 43%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/__/3rdparty/FastCRC/FastCRCsw.cpp.o [ 44%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/device_manager.cpp.o [ 45%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/livox_lidar_sdk.cpp.o [ 46%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/params_check.cpp.o [ 48%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/parse_cfg_file.cpp.o [ 49%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/upgrade_manager.cpp.o [ 50%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/base/io_loop.cpp.o [ 51%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/base/thread_base.cpp.o [ 53%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/base/io_thread.cpp.o [ 54%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/base/logging.cpp.o [ 55%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/base/network/unix/network_util.cpp.o [ 56%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/base/multiple_io/multiple_io_base.cpp.o [ 57%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/base/multiple_io/multiple_io_epoll.cpp.o [ 59%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/base/multiple_io/multiple_io_poll.cpp.o [ 60%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/base/multiple_io/multiple_io_select.cpp.o [ 61%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/base/multiple_io/multiple_io_kqueue.cpp.o [ 62%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/base/wake_up/unix/wake_up_pipe.cpp.o [ 63%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/comm/comm_port.cpp.o [ 65%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/comm/sdk_protocol.cpp.o [ 66%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/comm/generate_seq.cpp.o [ 67%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/upgrade/firmware.cpp.o [ 68%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/upgrade/livox_lidar_upgrader.cpp.o [ 69%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/logger_handler/logger_manager.cpp.o [ 71%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/logger_handler/logger_handler.cpp.o [ 72%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/logger_handler/file_manager.cpp.o [ 73%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/data_handler/data_handler.cpp.o [ 74%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/command_handler/command_impl.cpp.o [ 75%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/command_handler/general_command_handler.cpp.o [ 77%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/command_handler/hap_command_handler.cpp.o In file included from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/stream.h:19, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/memorystream.h:22, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/encodedstream.h:22, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/document.h:26, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/command_handler/parse_lidar_state_info.h:38, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/command_handler/hap_command_handler.cpp:37: /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/rapidjson.h:542:29: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas] 542 | #define RAPIDJSON_PRAGMA(x) _Pragma(RAPIDJSON_STRINGIFY(x)) | ^~~~~~~ /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/rapidjson.h:543:34: note: in expansion of macro ‘RAPIDJSON_PRAGMA’ 543 | #define RAPIDJSON_DIAG_PRAGMA(x) RAPIDJSON_PRAGMA(GCC diagnostic x) | ^~~~~~~~~~~~~~~~ /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/rapidjson.h:545:3: note: in expansion of macro ‘RAPIDJSON_DIAG_PRAGMA’ 545 | RAPIDJSON_DIAG_PRAGMA(ignored RAPIDJSON_STRINGIFY(RAPIDJSON_JOIN(-W, x))) | ^~~~~~~~~~~~~~~~~~~~~ /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/internal/dtoa.h:36:1: note: in expansion of macro ‘RAPIDJSON_DIAG_OFF’ 36 | RAPIDJSON_DIAG_OFF(array - bounds) // some gcc versions generate wrong warnings | ^~~~~~~~~~~~~~~~~~ [ 78%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/command_handler/mid360_command_handler.cpp.o In file included from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/stream.h:19, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/memorystream.h:22, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/encodedstream.h:22, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/document.h:26, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/command_handler/parse_lidar_state_info.h:38, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/command_handler/mid360_command_handler.cpp:37: /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/rapidjson.h:542:29: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas] 542 | #define RAPIDJSON_PRAGMA(x) _Pragma(RAPIDJSON_STRINGIFY(x)) | ^~~~~~~ /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/rapidjson.h:543:34: note: in expansion of macro ‘RAPIDJSON_PRAGMA’ 543 | #define RAPIDJSON_DIAG_PRAGMA(x) RAPIDJSON_PRAGMA(GCC diagnostic x) | ^~~~~~~~~~~~~~~~ /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/rapidjson.h:545:3: note: in expansion of macro ‘RAPIDJSON_DIAG_PRAGMA’ 545 | RAPIDJSON_DIAG_PRAGMA(ignored RAPIDJSON_STRINGIFY(RAPIDJSON_JOIN(-W, x))) | ^~~~~~~~~~~~~~~~~~~~~ /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/internal/dtoa.h:36:1: note: in expansion of macro ‘RAPIDJSON_DIAG_OFF’ 36 | RAPIDJSON_DIAG_OFF(array - bounds) // some gcc versions generate wrong warnings | ^~~~~~~~~~~~~~~~~~ [ 79%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/command_handler/build_request.cpp.o [ 80%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/command_handler/parse_lidar_state_info.cpp.o In file included from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/stream.h:19, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/memorystream.h:22, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/encodedstream.h:22, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/document.h:26, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/command_handler/parse_lidar_state_info.h:38, from /home/lixing/catkin_ws/Livox-SDK2/sdk_core/command_handler/parse_lidar_state_info.cpp:2: /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/rapidjson.h:542:29: warning: unknown option after ‘#pragma GCC diagnostic’ kind [-Wpragmas] 542 | #define RAPIDJSON_PRAGMA(x) _Pragma(RAPIDJSON_STRINGIFY(x)) | ^~~~~~~ /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/rapidjson.h:543:34: note: in expansion of macro ‘RAPIDJSON_PRAGMA’ 543 | #define RAPIDJSON_DIAG_PRAGMA(x) RAPIDJSON_PRAGMA(GCC diagnostic x) | ^~~~~~~~~~~~~~~~ /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/rapidjson.h:545:3: note: in expansion of macro ‘RAPIDJSON_DIAG_PRAGMA’ 545 | RAPIDJSON_DIAG_PRAGMA(ignored RAPIDJSON_STRINGIFY(RAPIDJSON_JOIN(-W, x))) | ^~~~~~~~~~~~~~~~~~~~~ /home/lixing/catkin_ws/Livox-SDK2/sdk_core/../3rdparty/rapidjson/internal/dtoa.h:36:1: note: in expansion of macro ‘RAPIDJSON_DIAG_OFF’ 36 | RAPIDJSON_DIAG_OFF(array - bounds) // some gcc versions generate wrong warnings | ^~~~~~~~~~~~~~~~~~ [ 81%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/debug_point_cloud_handler/debug_point_cloud_manager.cpp.o [ 83%] Building CXX object sdk_core/CMakeFiles/livox_lidar_sdk_static.dir/debug_point_cloud_handler/debug_point_cloud_handler.cpp.o [ 84%] Linking CXX static library liblivox_lidar_sdk_static.a [ 84%] Built target livox_lidar_sdk_static Scanning dependencies of target livox_lidar_quick_start [ 85%] Building CXX object samples/livox_lidar_quick_start/CMakeFiles/livox_lidar_quick_start.dir/main.cpp.o [ 86%] Linking CXX executable livox_lidar_quick_start [ 86%] Built target livox_lidar_quick_start Scanning dependencies of target multi_lidars_upgrade [ 87%] Building CXX object samples/multi_lidars_upgrade/CMakeFiles/multi_lidars_upgrade.dir/main.cpp.o [ 89%] Linking CXX executable multi_lidars_upgrade [ 89%] Built target multi_lidars_upgrade Scanning dependencies of target logger [ 90%] Building CXX object samples/logger/CMakeFiles/logger.dir/main.cpp.o [ 91%] Linking CXX executable logger [ 91%] Built target logger Scanning dependencies of target debug_point_cloud [ 92%] Building CXX object samples/debug_point_cloud/CMakeFiles/debug_point_cloud.dir/main.cpp.o [ 93%] Linking CXX executable debug_point_cloud [ 93%] Built target debug_point_cloud Scanning dependencies of target lidar_cmd_observer [ 95%] Building CXX object samples/lidar_cmd_observer/CMakeFiles/lidar_cmd_observer.dir/main.cpp.o [ 96%] Linking CXX executable lidar_cmd_observer [ 96%] Built target lidar_cmd_observer Scanning dependencies of target livox_lidar_rmc_time_sync [ 97%] Building CXX object samples/livox_lidar_rmc_time_sync/CMakeFiles/livox_lidar_rmc_time_sync.dir/main.cpp.o [ 98%] Building CXX object samples/livox_lidar_rmc_time_sync/CMakeFiles/livox_lidar_rmc_time_sync.dir/linux/synchro.cpp.o [100%] Linking CXX executable livox_lidar_rmc_time_sync [100%] Built target livox_lidar_rmc_time_sync
08-27
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值