boost介绍

Boost是一个广受欢迎的、开源的C++程序库集合,提供了许多高质量和可重用的组件,涵盖了广泛的领域,如容器、算法、函数对象、日期与时间、正则表达式、文件系统、线程等。Boost旨在通过提供开发人员友好的C++工具和组件来增强C++的功能。

以下是一些Boost库的例子:

  1. Boost.Array: 提供了固定大小数组的支持。
  2. Boost.Asio: 提供异步网络编程和底层I/O操作的功能。
  3. Boost.Filesystem: 提供了文件系统的操作和管理功能。
  4. Boost.Regex: 提供了正则表达式的支持。
  5. Boost.Thread: 提供了跨平台的多线程编程接口。
  6. Boost.Smart_Ptr: 提供了智能指针的实现,用于管理动态分配对象的生命周期。
  7. Boost.Serialization: 提供了对象序列化和反序列化的功能,便于数据的存储和传输。

Boost还包含许多其他功能丰富的库,每个库都经过精心设计和广泛测试,以提供可靠和高效的功能。由于其高质量和广泛应用,Boost被许多C++开发者广泛使用,并被视为C++开发的重要工具之一。

boost安装

官网下载安装包

Boost C++ Libraries

下载boost_1_82_0.tar.gz

ubuntu开发环境-LMLPHP

//解压文件
tar -xzvf boost_1_82_0.tar.gz

//切换路径
cd boost_1_82_0

//运行当前目录中名为 "bootstrap.sh" 的脚本
sudo ./bootstrap.sh

//安装
sudo ./b2 install

//更新共享库缓存
ldconfig

 Qt Creator

Qt Creator 是一个跨平台的集成开发环境(IDE),专门用于开发基于 Qt 跨平台应用程序。以下是 Qt Creator 的一些特点和功能:

  1. 跨平台支持:Qt Creator 可在 Windows、Mac 和 Linux 等多个操作系统上运行,使开发人员能够轻松进行跨平台应用程序的开发。

  2. 集成的开发工具:Qt Creator 提供丰富的集成工具,包括代码编辑器、调试器、可视化界面设计器和项目管理器等。这些工具协同工作,提高了开发效率。

  3. 代码编辑器:Qt Creator 的代码编辑器具有语法高亮、自动完成、代码导航、代码模板和代码重构等功能。它支持多种编程语言,包括 C++、QML、JavaScript 等。

  4. 可视化界面设计器:Qt Creator 具有直观易用的可视化界面设计器,在设计和布局用户界面时提供了快速、交互式的方式。你可以通过拖放和调整控件来构建界面,并实时预览效果。

  5. 调试和分析:Qt Creator 集成了强大的调试器,可帮助你在应用程序中进行断点调试、变量查看和堆栈追踪等操作。此外,还提供了性能分析工具,用于检测和解决应用程序性能问题。

  6. 版本控制集成:Qt Creator 支持常见的版本控制系统,如 Git、Subversion 和 Mercurial。它提供了直观的界面,让你可以方便地管理代码库、提交更改和查看历史记录。

  7. 插件扩展:Qt Creator 具有可扩展的体系结构,允许通过插件添加新的功能和工具。你可以根据需要安装和使用第三方插件,以满足自己的开发需求。

总之,Qt Creator 是一个功能齐全且易于使用的集成开发环境,为基于 Qt 框架的跨平台应用程序开发提供了强大的支持和工具。无论是小型项目还是大型应用程序,Qt Creator 都能提供高效的开发体验和丰富的功能集。

下载在线安装包的链接

https://mirrors.nju.edu.cn/qt/official_releases/online_installers/

安装过程略

git安装

//============安装git==========
sudo apt-get install git
sudo apt-get update
git --version
git config --global user.name "xxx"和 git config --global user.email "你的邮箱地址"

//(注意ssh与-keygen之间没有空格),会在用户目录~/.ssh/下建立相应的密钥文件。
ssh-keygen -C 'you email address@gmail.com' -t rsa

cmake安装

sudo apt-get install cmake

glog和gflags

=========安装gflags===========
git clone https://github.com/gflags/gflags.git
cd gflags
mkdir build && cd build
cmake -DGFLAGS_NAMESPACE=google -DCMAKE_CXX_FLAGS=-fPIC -DBUILD_SHARED_LIBS=ON ..
make -j4
sudo make install
sudo ldconfig



============安装glog============
git clone https://github.com/google/glog
cd glog
mkdir build && cd build
cmake -DGFLAGS_NAMESPACE=google -DCMAKE_CXX_FLAGS=-fPIC -DBUILD_SHARED_LIBS=ON ..
make
sudo make install

glog 和 gflags 是 Google 提供的两个开源 C++ 库,用于处理日志记录和命令行参数解析。

  1. glog(Google Logging Library):

    • glog 是一个高效、灵活的日志记录库,旨在提供简单易用的日志记录功能。
    • 它支持多种日志级别、灵活的日志格式化选项以及对日志文件的自动轮转和大小限制等特性。
    • 使用 glog 可以方便地在应用程序中记录和管理日志,帮助定位和调试问题。
    • glog 还提供了线程安全的日志记录功能,可以同时在多个线程中记录日志,避免竞争条件。
  2. gflags(Google Commandline Flags):

    • gflags 是一个命令行参数解析库,可用于解析和读取应用程序的命令行参数。
    • 它提供了一种方便的方式来定义、注册和访问命令行参数,支持不同类型的参数(如布尔型、整型、字符串型等)。
    • 在应用程序启动时,gflags 可以自动解析命令行参数并将其存储为相应的变量,然后可以在程序中使用这些变量进行逻辑判断或配置操作。
    • gflags 还支持多种参数的校验和默认值设置,并提供了详细的文档和帮助信息,方便用户查阅和使用。

这两个库常常一起使用,可以极大地简化 C++ 应用程序的日志记录和命令行参数处理过程。glog 和 gflags 都是Google开源的高质量工具库,在许多 C++ 程序中得到广泛地应用。

ssh

SSH(Secure Shell)是一种用于在不安全的网络中进行安全通信的协议。它通过加密技术和身份验证机制保护数据的传输,使得远程登录、文件传输和命令执行等操作变得更加安全可靠。

以下是 SSH 的一些重要特点和功能:

  1. 安全性:SSH 使用加密算法对数据进行加密,包括用户认证信息、传输内容和命令。这确保了在不安全的网络中敏感数据的保护,防止数据被窃听、修改或篡改。

  2. 远程登录:SSH 允许用户在远程计算机上进行安全登录。用户可以通过终端应用程序使用 SSH 协议连接到远程主机,并输入用户名和密码以进行身份认证。登录后,用户可以执行命令和管理远程主机。

  3. 文件传输:SSH 支持安全的文件传输功能。通过 SCP(Secure Copy)协议或 SFTP(SSH File Transfer Protocol),用户可以在本地计算机和远程主机之间传输文件,确保传输过程中的数据安全性。

  4. 端口转发:SSH 支持端口转发功能,允许用户在远程主机和本地主机之间建立安全的通信通道。这对于安全访问内部网络资源、隧道连接和跳板主机等场景非常有用。

  5. 密钥认证:除了用户名和密码的身份验证方式,SSH 还支持密钥认证。用户生成一对公钥和私钥,并将公钥放置在远程主机上。通过密钥认证,用户可以免去输入密码进行身份验证,提高安全性和便利性。

总的来说,SSH 提供了一种安全、加密的通信方式,可用于远程登录、文件传输和安全通信等场景,保护用户数据的安全性和隐私。

//=============ssh安装及使用==========//
ps -e|grep ssh
1.sudo apt-get install ssh
2.sudo /etc/init.d/ssh start
3.ssh-keygen -f "/home/guo/.ssh/known_hosts" -R 10.0.4.218   移除以前的记忆
4.ssh test@192.168.135.249

解决-lGL找不到的问题

在linux下安装的qtcreator,在编译工程时,报错:“cannot find -lGL”,这种错误一般有如下两种原因:

一种是没有安装libGL库,那么就重新安装:sudo apt-get install libgl1-mesa-dev

一种是装了,但是路径不对,那么需要重新配置一下路径:

先通过locate查询下,的确有libGL库,如下示:

$ locate libGL

/usr/lib/x86_64-linux-gnu/libGLEW.so.1.13
/usr/lib/x86_64-linux-gnu/libGLEW.so.1.13.0
/usr/lib/x86_64-linux-gnu/libGLEWmx.so.1.13
/usr/lib/x86_64-linux-gnu/libGLEWmx.so.1.13.0
/usr/lib/x86_64-linux-gnu/libGLU.so.1
/usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1
/usr/lib/x86_64-linux-gnu/libhybris-egl/libGLESv2.so.2
/usr/lib/x86_64-linux-gnu/libhybris-egl/libGLESv2.so.2.0.0
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0

$ sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so

完成之后,再重新编译工程,问题解决。

Qt5WebEngine使用问题

.../libQt5WebEngineCore.so
undefined reference to PK11_SignWithMechanism@NSS-3.22

1.sudo apt-get install libnss3

若提示已是最新版本2.3.30,那怎么办呢?

sudo vi /etc/apt/sources.list

在该文件最后添加

deb http://cz.archive.ubuntu.com/ubuntu trusty-updates main

保存退出,执行命令sudo apt-get update

然后在次执行命令sudo apt-get install libnss3,如下

infodetail-2767667.html

再执行原来的命令就可以了:

[email protected]:/opt/VSCode-linux-x64$ ./code,正常启啦

Qt工程集成三方库

.pro文件中添加

INCLUDEPATH += /usr/local/include/boost
LIBS += /usr/local/lib/libboost_thread.a
LIBS += /usr/local/lib/libboost_system.a

INCLUDEPATH += /usr/local/lib/include
LIBS += -L./usr/local/lib -lglog
06-16 19:14