Linux Mint中Flutter集成dart_vlc ^0.4.0时构建失败问题
Flutter Linux平台集成dart_vlc: ^0.4.0构建失败问题
我正在开发一款支持Android、Windows和macOS的跨平台视频播放器,基于Linux Mint系统使用Flutter框架。创建全新Flutter项目并添加dart_vlc: ^0.4.0依赖后,按F5运行时出现以下构建错误:
/home/beautiful/Documents/flutter-apps/deleteme/linux/flutter/ephemeral/.plugin_symlinks/dart_vlc/core/api/api.cc:43:48:
warning: cannot delete expression with pointer-to-'void' type 'void *'
[-Wdelete-incomplete] clang: error: linker command failed with exit
code 1 (use -v to see invocation) Exception: Build process failed
以下是flutter doctor -v的输出:
[✓] Flutter (Channel stable, 3.3.10, on Linux Mint 20.3 5.4.0-137-generic, locale en_IN) • Flutter version 3.3.10 on channel stable at /home/beautiful/snap/flutter/common/flutter • Upstream repository https://github.com/flutter/flutter.git • Framework revision 135454af32 (5 weeks ago), 2022-12-15 07:36:55 -0800 • Engine revision 3316dd8728 • Dart version 2.18.6 • DevTools version 2.15.0 [✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0) • Android SDK at /home/beautiful/Android/Sdk • Platform android-33, build-tools 31.0.0 • Java binary at: /home/beautiful/Templates/android-studio/jre/bin/java • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840) • All Android licenses accepted. [✓] Chrome - develop for the web • Chrome at google-chrome [✓] Linux toolchain - develop for Linux desktop • clang version 10.0.0-4ubuntu1 • cmake version 3.16.3 • ninja version 1.10.0 • pkg-config version 0.29.1 [✓] Android Studio (version 2021.2) • Android Studio at /home/beautiful/Templates/android-studio • Flutter plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/9212-flutter • Dart plugin can be installed from: 🔨 https://plugins.jetbrains.com/plugin/6351-dart • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840) [✓] VS Code (version 1.74.3) • VS Code at /usr/share/code • Flutter extension version 3.56.0 [✓] Connected device (2 available) • Linux (desktop) • linux • linux-x64 • Linux Mint 20.3 5.4.0-137-generic • Chrome (web) • chrome • web-javascript • Google Chrome 109.0.5414.74 [✓] HTTP Host Availability • All required HTTP hosts are available • No issues found!
解决方法
- 升级dart_vlc版本:0.4.0版本存在Linux平台编译缺陷,直接升级到
^0.7.0及以上的稳定版,新版本已修复该指针删除的编译警告和链接错误。 - 更新编译工具链:当前clang版本为10.0.0,升级到clang 12及以上版本,提升对C++标准的支持,可避免此类警告触发编译失败。
- 临时忽略编译警告:在Linux项目临时生成的dart_vlc配置文件中添加参数:
找到flutter/ephemeral/.plugin_symlinks/dart_vlc/linux/CMakeLists.txt,添加:
注意:该文件为依赖更新后会重置,仅作临时应急方案。set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-delete-incomplete") - 切换Flutter通道:尝试切换到beta或dev通道并升级Flutter,修复框架与插件的兼容性问题:
flutter channel beta flutter upgrade
内容的提问来源于stack exchange,提问作者singwithaashish
相关产品推荐
相关产品推荐

