Ubuntu 22.04 + Qt 6.9.3 + 阿里云 OSS C++ SDK V2 整合部署全攻略

发布时间:2026/7/19 5:10:04
Ubuntu 22.04 + Qt 6.9.3 + 阿里云 OSS C++ SDK V2 整合部署全攻略 重要提醒环境与版本信息在开始整合前请确认您的环境与以下信息一致以避免不必要的兼容性问题。操作系统Ubuntu 22.04 x86_64Qt 版本Qt 6.9.3工作目录/home/wzh/src目标 SDK阿里云 OSS C SDK V2预览版1. 一次性安装系统全部依赖打开终端执行以下命令安装所有必要的编译工具和运行时库sudoaptupdate# 安装编译工具链、OSS SDK底层依赖、Qt6图形依赖sudoaptinstallbuild-essential cmakegitlibcurl4-openssl-dev libssl-dev uuid-dev libgl1-mesa-dev libxkbcommon-dev-y2. 拉取 OSS SDK 源码进入您的工作目录克隆 OSS SDK 的官方仓库cd/home/wzh/srcgitclone https://github.com/aliyun/alibabacloud-oss-cpp-sdk-v2.git oss-sdk-src3. CMake 编译并安装 OSS SDK我们将 SDK 编译并安装到独立的第三方库目录便于项目管理。cd/home/wzh/src/oss-sdk-srcmkdirbuildcdbuild cmake..\-DCMAKE_INSTALL_PREFIX/home/wzh/src/thirdparty/oss-v2\-DBUILD_SHARED_LIBSON\-DCMAKE_CXX_STANDARD17make-j$(nproc)sudomakeinstall参数说明-DCMAKE_INSTALL_PREFIX指定 SDK 的安装路径。-DBUILD_SHARED_LIBSON编译为动态链接库.so 文件便于发布。-DCMAKE_CXX_STANDARD17强制使用 C17 标准编译。4. 库瘦身发布必备为减小最终发布程序的体积可以对生成的动态库进行瘦身处理cd/home/wzh/src/thirdparty/oss-v2/lib strip libalibabacloud_oss_v2.so5. Qt6 工程完整.pro配置QT core gui widgets concurrent network CONFIG c17 thread exceptions rtti stl # OSS SDK 路径配置 OSS_ROOT $$PWD/thirdparty/oss-v2 INCLUDEPATH $${OSS_ROOT}/lib INCLUDEPATH $${OSS_ROOT}/include LIBS -L$${OSS_ROOT}/lib LIBS -lalibabacloud_oss_v2 -lcurl -lssl -lcrypto -luuid # RPATH 配置确保开发机和目标设备都能找到动态库 unix { QMAKE_RPATHDIR $${OSS_ROOT}/lib QMAKE_RPATHDIR $${OPENCV_ROOT}/lib QMAKE_RPATHDIR $${ORIGIN}/thirdparty/oss-v2/lib QMAKE_RPATHDIR $${ORIGIN}/thirdparty/opencv/install/lib }6. 代码引入头文件示例在需要使用 OSS 功能如上传、下载文件的.cpp文件顶部添加以下头文件#includealibabacloud/oss/OssClient.husingnamespaceAlibabaCloud::OSS;// 后续即可使用 OssClient 等类进行开发7. 发布到目标设备的部署操作发布时只需携带可执行程序和必要的动态库无需头文件。7.1 打包目录结构建议按以下结构组织发布文件夹你的程序发布文件夹/ ├── 你的Qt可执行程序 └── thirdparty/ └── oss-v2/lib/libalibabacloud_oss_v2.so # OpenCV库文件也应放在类似位置例如 thirdparty/opencv/install/lib/7.2 目标设备系统依赖安装在目标设备上仅需执行一次安装运行所需的基础系统库sudoaptinstalllibcurl4-openssl-dev libssl-dev uuid-dev7.3 运行程序赋予可执行权限并运行你的 Qt 程序chmodx ./你的程序名 ./你的程序名8. 常见报错与快速修复链接报错undefined reference to ‘uuid_generate‘检查.pro文件的LIBS中是否包含了-luuid。运行时错误error while loading shared libraries: libalibabacloud_oss_v2.so核对设备上thirdparty目录的层级是否与打包时一致。确认.pro文件中的QMAKE_RPATHDIR配置正确特别是$${ORIGIN}/thirdparty/oss-v2/lib路径。C 语法报错确认.pro文件中已配置CONFIG c17。Qt6 程序启动失败提示图形相关错误确保在第一步已完整安装系统依赖libgl1-mesa-dev。提示本文提供的步骤已在 Ubuntu 22.04 Qt 6.9.3 环境下验证通过。整合过程中如遇其他问题可参考阿里云 OSS 官方文档或 Qt 社区资源。官方文档如需了解 OSS C SDK V2 的完整 API、配置项及高级用法请参阅 阿里云 OSS C SDK V2 官方文档。