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

Executorch苹果iOS示例编译失败:M1设备Xcode构建报错

M1 MacBook Pro构建Executorch iOS示例应用时的未定义符号错误

我使用搭载M1 Pro处理器的2021款MacBook Pro,在通过Xcode构建Executorch的apple-ios示例应用时遇到问题。打开Xcode项目后,LLaMaRunner中出现两个未定义符号错误:

未定义符号: executorch::extension::llm::load_tokenizer(std::__1::basic_string<char, std::__1::char_traits, std::1::allocator> const&, std::1::unique_ptr<std::1::vector<std::1::basic_string<char, std::__1::char_traits, std::1::allocator>, std::1::allocator<std::__1::basic_string<char, std::__1::char_traits, std::1::allocator>>>, std::1::default_delete<std::1::vector<std::1::basic_string<char, std::__1::char_traits, std::1::allocator>, std::1::allocator<std::__1::basic_string<char, std::__1::char_traits, std::1::allocator>>>>>, std::1::optional<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>>, unsigned long, unsigned long)

未定义符号: executorch::extension::llm::create_text_llm_runner(std::__1::basic_string<char, std::__1::char_traits, std::1::allocator> const&, std::1::unique_ptr<tokenizers::Tokenizer, std::__1::default_deletetokenizers::Tokenizer>, std::1::optional<std::1::basic_string<char, std::__1::char_traits, std::__1::allocator> const>, float)

系统及依赖版本信息

PyTorch版本: 2.8.0.dev20250601
是否为调试构建: 否
构建PyTorch使用的CUDA: 无
构建PyTorch使用的ROCM: 不适用

操作系统: macOS 15.5 (arm64)
GCC版本: 无法收集
Clang版本: 17.0.0 (clang-1700.0.13.5)
CMake版本: 3.31.6
Libc版本: 不适用

Python版本: 3.12.11 (main, Jun  3 2025, 15:41:47) [Clang 17.0.0 (clang-1700.0.13.3)] (64位运行时)
Python平台: macOS-15.5-arm64-arm-64bit
CUDA是否可用: 否
CUDA运行时版本: 无CUDA
CUDA_MODULE_LOADING设置为: 不适用
GPU型号及配置: 无CUDA
Nvidia驱动版本: 无CUDA
cuDNN版本: 无CUDA
HIP运行时版本: 不适用
MIOpen运行时版本: 不适用
XNNPACK是否可用: 是

CPU:
Apple M1 Pro

相关库版本:
[pip3] executorch==0.7.0a0+56392aa
[pip3] numpy==2.3.0
[pip3] pytorch_tokenizers==0.1.0
[pip3] torch==2.8.0.dev20250601
[pip3] torchao==0.12.0+gitbc68b11f
[pip3] torchaudio==2.8.0.dev20250601
[pip3] torchdata==0.11.0
[pip3] torchsr==1.0.4
[pip3] torchtune==0.6.1
[pip3] torchvision==0.23.0.dev20250601
[conda] 无法收集

解决建议

  • 重新运行Executorch iOS示例的构建脚本,确保LLM扩展模块已完整编译,生成的库文件被正确添加到Xcode项目的链接阶段。
  • 检查Xcode项目的Link Binary With Libraries配置,确认是否包含了libexecutorch_extension_llm.a或对应框架文件。
  • 验证依赖版本匹配:当前使用的是Executorch开发版,尝试切换到与PyTorch nightly版本匹配的稳定分支,或同步更新所有相关依赖库。
  • 确认构建时是否开启了LLM扩展的编译选项,部分示例需要显式指定编译扩展模块才能生成相关符号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 20:35:57