C++在Ubuntu上如何使用模板库
在Ubuntu上使用C++模板库,通常先安装g++编译器,再根据项目需求选择STL、Boost或Eigen等库。仅包含头文件的库无需链接;需链接的库编译时用-l参数指定库名,可借助pkg-config简化库名和路径。务必注意头文件路径和链接选项,以确保编译成功。
在Ubuntu环境下使用C++模板库,说难不难,说简单也有几个关键细节值得注意。从环境搭建到实际调用,一步步来,基本不会踩坑。

第一步:把编译器备好
工欲善其事,必先利其器。Ubuntu默认可能不带C++编译器,或者版本太老。直接用APT装GCC就行,这是最稳妥的方式:
sudo apt update
sudo apt install g++
装完可以用 g++ --version 确认一下。如果系统提示已经安装,那更省事。
第二步:选对模板库
需求决定选择。常见的选择有这么几类:
- STL(C++标准模板库)——编译器自带,开箱即用,不用额外安装。
- Boost——第三方重型库,功能覆盖广泛,但需要单独下载编译。
- Eigen——专攻线性代数,头文件库(header-only),省去链接步骤。
- 其他如 Qt、Poco 等,看项目需要。
对于大多数日常开发,STL已经够用。如果涉及矩阵运算,Eigen是首选;需要正则、线程、智能指针增强版,Boost是标准答案。
第三步:库的安装方式
安装方法取决于库的类型。对于像Eigen这样的头文件库,用包管理器直接搞定:
sudo apt install libeigen3-dev
Boost也能通过APT安装,但版本可能不是最新。如果想用最新版,就去官网下载源码,按照README里的步骤编译安装。需要留意的是,Boost的编译比较耗时,别心急。
第四步:在代码里引用头文件
安装完成后,在C++源文件中用 #include 引入对应的头文件。比如Eigen:
#include
Boost的引入方式类似,比如 #include 。注意路径大小写和命名空间,有些库的包含路径比较特殊,建议参考官方示例。
第五步:编译时链接库
这里有个关键区别:头文件库不需要链接,编译器直接展开头文件就能用。Eigen、STL都是这类。
对于需要链接的库(比如Boost中的某些功能模块),编译时必须告诉链接器。命令格式如下:
g++ -o myprogram myprogram.cpp -lboost_system
-l 后面跟库名(去掉lib前缀和.so后缀)。如果库安装在非标准路径,还得用 -L 指定库目录,用 -I 指定头文件目录。为了省事,可以借助 pkg-config 自动获取编译参数:
g++ -o myprogram myprogram.cpp `pkg-config --cflags --libs eigen3`
注意反引号的位置。
第六步:编写代码并运行
一切就绪后,就可以在源码中尽情使用模板库的功能了。编译通过后,运行可执行文件:
./myprogram
不出意外的话,程序会按预期工作。如果遇到“找不到头文件”或“未定义的引用”,大概率是路径或链接选项没写对,回头检查一下 -I 和 -l 参数即可。
当然,不同库的细节会有些差异。最靠谱的方法还是翻开官方文档,那才是第一手权威资料。
Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。
Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。
Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。
PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。
Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等
Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。













