You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 20.04下使用Boost.Beast编译找不到头文件如何解决

Boost.Beast编译找不到头文件问题解决方案

核心错误排查

  • Boost.Beast是C++专属库,不支持C语言项目。你使用.c后缀的源文件配合gcc默认走C编译流程,本身无法兼容C++编写的Boost库,这是核心错误之一
  • 你的手动编译操作路径逻辑错误:执行git clone --recursive https://github.com/boostorg/boost.git后生成的目录为boost而非beast,直接执行cd beast/属于无效操作,后续的配置、编译流程都没有作用到正确的Boost源码上
  • 编译时没有指定Boost头文件的搜索路径,gcc默认不会主动扫描你手动克隆的第三方源码目录下的头文件

具体解决步骤

方案一:用Ubuntu官方源安装Boost(推荐,操作最简单)

  1. 将你的sample.c重命名为sample.cpp,确认文件内代码符合C++语法规范
  2. 执行以下命令安装完整的Boost开发包:
    $ sudo apt update && sudo apt install libboost-all-dev
  3. 使用g进行C编译,命令如下:
    $ g++ sample.cpp -o sample -lboost_system
    编译完成后运行./sample即可执行程序

方案二:使用手动克隆的Boost源码编译安装

  1. 进入你之前克隆的Boost源码根目录(注意是boost目录而非不存在的beast目录),执行以下命令完成编译安装:
$ ./bootstrap.sh
$ sudo ./b2 install

安装完成后Boost会默认被放到/usr/local目录下
2. 重命名sample.c为sample.cpp,使用以下命令编译:
$ g++ sample.cpp -o sample -I/usr/local/include -L/usr/local/lib -lboost_system
3. 运行程序前如果提示找不到动态库,执行$ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH后再运行即可

内容的提问来源于stack exchange,提问作者daisukeokaoss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 11:36:00