linux笔记2-开发库与工具安装与更新
cmake
由于使用sudo apt install cmake安装的cmake版本是3.10.2比较老旧。ppa安装,推荐
- 添加签名密钥
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
- 将存储库添加到您的源列表并进行更新
sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
sudo apt-get update
- 然后再使用apt安装就是最新版本的cmake啦
sudo apt install cmake
到此,ubuntu中cmake编译的三种方法就结束啦。
低版本cmake更新
- 打开cmake下载的官网:https://cmake.org/files/
这里我们选择最高的子版本,cmake-3.20.6-linux-x86_64.sh
,点击进行下载。(最小的子版本号可以自行更改,我选的是当时最高的6,因为它大概率拥有最全的补丁)
- 升级命
cd Downloads
sudo bash cmake-3.20.6-inux-x86_64.sh --skip-licence --prefix=/usr
- 在弹出来的提示中,输入y/n(输入什么完全照我说的做!)
# 安装过程中遇到:
# 第一个选择时,输入y!!!
Do you accept the license? [yn]:
# 输入 y
# 第二个选择时,输入n!!!
By default the CMake will be installed in:
"/usr/cmake-3.23.0-linux-x86_64"
Do you want to include the subdirectory cmake-3.23.0-linux-x86_64?
Saying no will install in: "/usr" [Yn]:
# 输入 n
- 查看版本是否更新成功
cmake --version
# 提示cmake version 3.20.6
boost库
注意:先安装对应的boost再更新安装ros
ros2可以使用boost1.74-ubuntu22
ros-noetic使用boost1.75-buuntu20
编译安装
1.下载原码后使用 bootstrap.sh 来生产编译工具 b2
./bootstrap.sh --prefix=/usr/
注:其中“--prefix”是用来配置安装目录的:
2.如果不配置该选项,安装后可执行文件默认放在/usr /local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较凌乱。
3.如果配置了“--prefix”,如上“./bootstrap.sh --prefix=/usr/”安装后的所有资源文件都会被放在“/usr/”目录中,不会分散到其他问目录。
4.使用“--prefix”的另一个好处是方便卸载软件或移植软件当某个安装的软件不再需要时,只须简单的删除该安装目录,就可以把软件卸载干净;移植软件只需拷答贝整个目录到另外一个机器即可.
5.运行b2
./b2
注:b2实际上是个支持 Boost.Jam语言的使用本地编译器自动化编译链接的跨平台编译工具
6.安装boost库
sudo ./b2 install
至此boost库安装完毕
查看boost库版本
dpkg -S /usr/include/boost/version.hpp
更新gcc使其能使用c++17
- 检查版本
gcc --version #查看版本是否需要升级
- 添加源
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo add-apt-repository ppa:ubuntu-toolchain-r/ppa
sudo apt-get update
- 查看添加的源里是否有对应你需要的版本
sudo apt search gcc-12
- 如果有需要的版,可以使用以下命令安装
sudo apt install gcc-12
sudo apt install g++-12
- sudo update-alternatives --install 切换系统 gcc/g++ 版本
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 60 --slave /usr/bin/g++ g++ /usr/bin/g++-12
SDL
一、Ubuntu下SDL安装_sdl2 ubuntu_GBEDC的博客-CSDN博客
protobuf
protobuf 地址:https://github.com/protocolbuffers/protobuf.git
详细地址:ProtoBuf安装及避坑指南 - 知乎 (zhihu.com)
编译前如果需要安装在 Ubuntu 上安装 Bazel
#查看protobuf版本如果3.6.1就需要更新protobuf版为最低为3.8
protoc --version
#到protobuf下载指定版本protobuf
./configure #不改路径
cmake check #可能没有作用
make
make install
sudo ldconfig #刷新动态库
protoc --version #显示版本
安装前可能需要以下库
sudo apt-get install autoconf automake libtool curl make g++ unzip
卸载旧版protobuf
sudo apt-get remove libprotobuf-dev #卸载旧板protobuf
which protoc #运行完“which protoc”会显示一个protoc的路径,如果没有显示则下面这条命令不必执行
rm /usr/local/bin/protoc #具体路径以“which protoc”显示的为准
#到此,低版本的protobuf卸载完成。
libyaml-cpp
ros2 version 0.7
mkdir build && cd build
cmake ..
make
sudo make install
log4cxx
sqlite3
sqlite3 version #查看版本
sudo apt-get install sqlite sqlite3
sudo apt-get install libsqlite3-dev #安装库+头文件,用代码操作数据库必须安装,否则调用头文件<sqlite3.h>可能会出错
openGL&openAL
sudo apt-get update
OpenGL: sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
OpenAL: sudo apt-get install libopenal0a libopenal-dev
ALUT: sudo apt-get install libalut0 libalut-dev
g2o
g2o地址:GitHub - RainerKuemmerle/g2o at 20200410_git
编译安装
可查看g2o源码文档
卸载g2o
sudo rm -r /usr/local/include/g2o //删除g2o的头文件,位于/usr/local/include/g2o下
sudo rm -r /usr/local/lib/libg2o* //删除g2o的库文件,位于/usr/local/lib下
sudo rm -r /usr/local/bin/g2o* //删除g2o的可执行文件,位于/usr/local/bin下
sudo rm -r /usr/local/lib/cmake/文件名 //g2o在cmake中不存在相关文件 别的库可能会存在 记录一下供参考
安装依赖
#fatal error: g2o/solvers/cholmod/linear_solver_cholmod.h: 没有那个文件或目录
sudo apt-get install cmake libeigen3-dev libsuitesparse-dev libqt4-dev qt4-qmake libqglviewer-dev
#出现报错软件包libqglviewer-dev没有可安装候选
#解决方法:
apt-cache search libqglviewer-dev
#出现如下:
libqglviewer-dev-qt5 - OpenGL 3D viewer library based on Qt5 - development files
#选择需要安装的:
sudo apt-get install libqglviewer-dev-qt5
ceres-solver
https://github.com/ceres-solver/ceres-solver.git
安装方法见官网:Installation — Ceres Solver (ceres-solver.org)
Ceres-Solver 安装与卸载ubuntu20.04_weixin_54470372的博客-CSDN博客
opencv
mkdir build && cd build
cmake ..
make
sudo make install
Qt5
Ubuntu22.04安装qt_软件包 qt5-default 没有可安装候选_闫有尽意无琼的博客-CSDN博客
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具