尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

总是编译不过去,怎么知道下的代码里的依赖的库比如 ffmpeg 、qt这些具体是依赖哪个版本的

总是编译不过去,怎么知道下的代码里的依赖的库比如 ffmpeg 、qt这些具体是依赖哪个版本的
📅 发布时间:2026/6/20 22:31:43
一句话结论
Olive master 分支目前(2025-10)官方 CI 与多篇实测都锁定在
  • Qt 5.15.x(5.15.2 最稳,6.x 仍可能踩坑)
  • FFmpeg 4.3.x – 5.0.x(4.3.1 / 4.4 / 5.0 均可,7.0 已确认不能用)
  • OpenImageIO 2.1.12+
  • OpenColorIO 2.0+
只要把这 4 项版本对齐,90 % 的编译失败都能直接消失。下面给出“一眼就能看出来”的查找方法,免得以后再猜。

1. 官方 README → 先看“硬性”下限

仓库根目录 README.md 或 doc/build.md 里会写 minimum required 版本,例如
Qt 5.15+, FFmpeg 3.0+, OpenImageIO 2.1.12+, OpenColorIO 2.0+
这是“下限”,实际“上限”要看后面两条。

2. 官方 CI 脚本 → 看“真实”上限

GitHub Actions 文件 .github/workflows/ci.yml 里会把每天编译通过的版本写死:
yaml
复制
- name: Install Qtuses: jurplel/install-qt-action@v3with:version: '5.15.2'          # ← Qt 版本arch: 'win64_msvc2019_64'- name: Install dependenciesrun: vcpkg install ffmpeg:4.4#12 ...   # ← FFmpeg 版本
 
CI 能绿的组合就是开发者当天保证能过的“官方推荐版本”,直接照抄即可。

3. vcpkg.json → 精确到“port 版本号”

Olive 已自带 vcpkg.json,里面要么
  1. 写了 "overrides" → 直接给出 ffmpeg 4.4#12 这类精确版本;
  2. 没写 "overrides" → 把 "builtin-baseline" 那行 commit-id 拿到
    https://github.com/microsoft/vcpkg/tree/<commit-id>

4. 社区踩坑汇总 → 快速验证

  • FFmpeg 7.0 删除 av_get_channel_layout_nb_channels → 编译即挂
     
    ;
  • FFmpeg 4.3.1 通过实测,4.4 / 5.0 也能过;
  • Qt 6 目前仍需手动关一些 deprecated warning,5.15.2 最省心
     
    。

5. 一条命令“锁定”正确依赖(Windows 例)

把下面 vcpkg.json 扔进 Olive 同级目录再 vcpkg install 就能一次性拉到“官方当天能过”的版本:
JSON
复制
{"dependencies": [{"name": "ffmpeg", "version>=": "4.4#12"},"opencolorio","openimageio","portaudio"],"overrides": [{"name": "ffmpeg", "version": "4.4#12"}],"builtin-baseline": "3426db0f17ef6df184fcdbfbe0f87cde2313b6ab1"
}
 
CMake 侧再加
cmake
复制
set(CMAKE_PREFIX_PATH "C:/Qt/5.15.2/msvc2019_64" ${CMAKE_PREFIX_PATH})
 
就能和 CI 用的一模一样。

6. 结论速查表(2025-10 有效)

表格
复制
依赖项推荐版本备注
Qt 5.15.2 6.x 需额外补丁
FFmpeg 4.3.1 – 5.0 7.0 API 已删函数,勿用
OpenImageIO ≥ 2.1.12 vcpkg 默认最新即可
OpenColorIO ≥ 2.0 vcpkg 默认最新即可
CMake ≥ 3.20 VS2022 自带已够
按上表锁定版本后,清空 CMake 缓存再编,基本可一次性通过。祝编译顺利!

相关新闻

  • 2025 年 11 月氨糖厂家最新推荐,聚焦资质、案例、售后的五家机构深度解读
  • 基于嵌入式无人机UAV通信系统的实时最优资源分配算法matlab仿真
  • 2025年11月氨糖厂家最新推荐,聚焦跨平台能力与售后体系的实用指南

最新新闻

  • DNSControl + Debian 10:用Go实现声明式DNS管理
  • FreeBSD深度解析:Linux老手必知的POSIX兼容性与系统哲学差异
  • 双曲共嵌入框架在字体与印象标签关联中的应用
  • 挑小户型功能沙发和全屋软体家具,分享我对比过的靠谱品牌 - 深圳市民HLL
  • DAPI共识算法在微电网多级储能协调控制中的应用与实践
  • 构建韧性信息物理系统:从安全验证到状态估计与协同恢复

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号