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

Xcode 13 workspace跨项目无法交叉引用头文件问题求助

Xcode 13.4.1 工作区跨C++动态库项目头文件找不到问题修复

Xcode 13 版本开始调整了工作区默认头文件检索逻辑,旧版本拖拽项目进工作区即可自动关联头文件的规则不再生效,按以下步骤配置即可解决table.hpp找不到的编译错误:

  • 选中tester测试项目对应的编译target,打开Build Settings配置面板
  • 搜索定位到Header Search Paths配置项,根据你的ADT库头文件存放方式二选一添加路径:
    • 源码路径关联:直接将ADT项目中存放table.hpp的头文件根目录拖拽到配置项的输入框中,Xcode会自动生成基于$(SRCROOT)的相对路径,将路径右侧的检索层级选项从non-recursive改为recursive,支持递归扫描子目录下的头文件
    • Framework产物关联:如果你的ADT动态库已经把头文件标记为Public并纳入Framework打包流程,直接添加路径$(BUILT_PRODUCTS_DIR)/libADT.framework/Headers,同样设置为recursive即可,不需要绑定源码目录路径
  • 同面板下继续搜索两个配置项调整参数:
    • 将Always Search User Paths的值设置为YES
    • 将Allow Non-modular Includes in Framework Modules的值设置为YES,绕过Xcode 13新增的非模块化C++头文件引用拦截
  • 按下快捷键Cmd+Shift+K清空项目编译缓存,重新执行编译即可

注意:如果配置后依然报错,检查ADT项目的target build phases中,table.hpp是否被误加入到了Private或者Project头文件层级,没有被标记为Public的头文件不会被打包进Framework的Headers目录,会导致产物路径检索失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 01:48:14