Ubuntu 20.04运行Flutter+OpenSSL项目报CMake找不到配置文件如何解决
问题原因
Ubuntu 20.04默认没有安装OpenSSL开发组件,且系统内置的OpenSSL CMake配置文件命名为大写的OpenSSLConfig.cmake,与你项目CMakeLists中指定的小写openssl CONFIG查找规则不匹配,所以触发找不到配置文件的报错。
解决步骤
- 第一步:安装系统依赖
执行以下命令安装OpenSSL开发包和相关构建工具:
sudo apt update && sudo apt install -y libssl-dev pkg-config cmake
安装完成后可执行以下命令验证配置文件存在:
find /usr -name "OpenSSLConfig.cmake"
正常会输出路径/usr/lib/x86_64-linux-gnu/cmake/OpenSSL/OpenSSLConfig.cmake
- 第二步:二选一选择适配方案
方案1(更推荐,跨平台兼容性更好)
修改项目根目录下的CMakeLists.txt,将原有的find_package(openssl REQUIRED CONFIG)替换为:
find_package(OpenSSL REQUIRED)
修改后CMake会调用内置的FindOpenSSL模块自动匹配系统的OpenSSL库,不用区分大小写,Windows、Ubuntu系统都能正常识别。
方案2(不修改项目代码,临时适配)
执行flutter构建/运行命令前,先导出环境变量指定openssl的CMake配置路径:
export openssl_DIR=/usr/lib/x86_64-linux-gnu/cmake/OpenSSL/
之后再正常执行flutter run或者flutter build命令即可。
- 第三步(可选,针对Linux桌面构建特殊场景)
如果是编译Linux桌面端应用依然报错,可在构建命令前指定CMAKE_PREFIX_PATH:
CMAKE_PREFIX_PATH=/usr/lib/x86_64-linux-gnu/ flutter run
内容的提问来源于stack exchange,提问作者Cadu Gomes
相关产品推荐
相关产品推荐

