【环境搭建】Ubuntu16 C++

启用虚拟机ssh:

sudo apt update
sudo apt install openssh-server

1. CMake

  1. 下载软件包 下载地址

  2. 解压文件

  3. 检查依赖 ./bootstrap
    Q1:

    CMake Error at Utilities/cmcurl/CMakeLists.txt:647 (message): Could not find OpenSSL. Install an OpenSSL development package or configure CMake with -DCMAKE_USE_OPENSSL=OFF to build without OpenSSL.

    Answer: 安装ssl sudo apt-get install libssl-dev
    Q2:

    Error when bootstrapping CMake: Cannot find appropriate C compiler on this system.

    Answer: 安装gcc,g++,make

    sudo apt install gcc
    sudo apt install g++
    sudo apt install make
    
  4. 编译 make -j8

  5. 安装 sudo make install

2. boost

  1. 下载软件包 下载地址
  2. 解压压缩包 tar -zxvf xxx.tar.gz
  3. 编译 ./bootstrap.sh --with-libraries=all --with-toolset=gcc
  4. ./b2
  5. sudo ./b2 install

删除旧有的环境

sudo rm -f /usr/local/lib/libboost*
sudo rm -rf /usr/local/include/boost
sudo rm -rf /usr/local/lib/cmake/*-1.76.0*

3. pcl

  • 通过 apt 安装

    参考链接

    sudo apt-get install libpcl-dev
    
  • 通过源码安装

  1. 创建并切换到 build 目录

    mkdir build
    cd build
    
  2. CMake 配置,设置 CMAKE_INSTALL_PREFIX 是为了把 pcl 安装到指定目录

    cmake -DCMAKE_INSTALL_PREFIX=/usr/local/pcl-1.13.0 -DCMAKE_TYPE=None ..
    
  3. 编译(启动 2 个线程)

    make -j2
    
  4. 将编译好的 PCL 库安装到指定的安装目录

    sudo make install --prefix=路径
    

    如果不写路径并且cmake没有配置路径,那么就是系统默认路径/usr/local/

版本:1.7.2
对应eigen版本:3.2.10

Q1:

Make Error at /usr/local/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find OpenGL (missing: OPENGL_opengl_LIBRARY OPENGL_glx_LIBRARY
OPENGL_INCLUDE_DIR)

Answer:

sudo apt-get install libgl1-mesa-dev mesa-common-dev libglu1-mesa-dev

Q2:

编译出来的是后缀名为.so的动态库,想要编译出后缀名为.a的静态库

Answer:

cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON

实际上没有用,应该是pcl库的cmake没有使用这些宏来控制编译

可能有以下几个原因:

  1. 项目本身的 CMakeLists.txt 配置问题: 有可能 PCL 项目本身在其 CMakeLists.txt 文件中配置了优先使用动态库的设置,导致你的选项设置被覆盖。

  2. CMake 缓存未被正确清除: 有时候 CMake 的缓存可能会导致选项设置没有生效。尝试删除 build 目录,然后重新运行 cmake 和 make 命令,看看是否能够得到正确的静态库文件。

  3. 检查编译选项是否正确传递: 确保在执行 make 命令时,传递了正确的编译选项。可以通过在命令行中显示详细信息来确认选项是否正确应用。

如果以上方法仍然无法解决问题,建议检查项目的 CMakeLists.txt 文件,确保静态库选项被正确设置并且没有被其他地方覆盖。另外,你也可以尝试查看 CMake 生成的 Makefile,确认静态库选项是否正确传递给了编译器。希望这些提示能帮助你找到问题所在!

4. gdb

链接

5. VSCode

5.1 代码规范

  1. 安装代码规范插件 Clang-Format
  2. 下载Clang-Format sudo apt-get install clang-format

5.2 注释

注释插件:koroFileHeader
快捷键: 文件头注释ctr+win+i, 函数头注释ctr+win+t
配置项:参考

5.3 代码静态检查

注释插件:cpplint
虚拟机安装:sudo pip3 install cpplint

6. 工具

6.1. filezilla

安装: sudo apt install filezilla

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来日可期1314

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值