【环境搭建】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

相关推荐

  1. 环境Ubuntu16 C++

    2024-03-22 00:10:03       39 阅读
  2. UbuntuOpenCV环境(C++)

    2024-03-22 00:10:03       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-22 00:10:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-22 00:10:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-22 00:10:03       82 阅读
  4. Python语言-面向对象

    2024-03-22 00:10:03       91 阅读

热门阅读

  1. Pyqt5专栏目录索引

    2024-03-22 00:10:03       45 阅读
  2. python排序算法代码

    2024-03-22 00:10:03       39 阅读
  3. 字符串之间的相似度的评价指标汇总

    2024-03-22 00:10:03       41 阅读
  4. 5465: 【搜索】奶牛干饭

    2024-03-22 00:10:03       41 阅读
  5. http模块 如何获取http请求的报文?

    2024-03-22 00:10:03       48 阅读
  6. 读代码整洁之道总结

    2024-03-22 00:10:03       40 阅读
  7. Python Web开发记录 Day14:Django part8 订单管理

    2024-03-22 00:10:03       40 阅读
  8. VUE tinymce editor 配置手册-封装组件

    2024-03-22 00:10:03       46 阅读
  9. 【C#】Microsoft learn入门C#教程简介

    2024-03-22 00:10:03       36 阅读
  10. 20.python——数据读取与存储

    2024-03-22 00:10:03       45 阅读
  11. macOS安装erlang以及rabbitMq详情版本

    2024-03-22 00:10:03       40 阅读