xcode - ALWAYS_SEARCH_USER_PATHS NO vs YES 的影响
问题描述
我正在使用 Xcode 9.2,我输入 ALWAYS_SEARCH_USER_PATHS=NO 它会显示一些错误,我的一个 file.h 在项目中找不到,但它存在于项目文件夹中。但是当我输入 ALWAYS_SEARCH_USER_PATHS=yes 时,它编译时没有任何错误。
请参考 Adobe sdKCC2020 的项目要求
需要注意的其他项目更改
In common.xcconfig, CLANG_CXX_LANGUAGE_STANDARD has been set to gnu++14 i.e. the code is compiled as GNU C++-14 compliant. BOOST_SPIRIT_THREADSAFE has been defined centrally in common.xcconfig. ALWAYS_SEARCH_USER_PATHS has been set to NO in common.xcconfig. You may need to change #include statements that were using user search
路径文件,但语法为“#include”,并用语法“#include”替换它们。由于设置 ALWAYS_SEARCH_USER_PATHS 在 Xcode 的未来版本中已弃用,因此正在主动进行此更改。
虽然头文件包含#include“file.h”,但它在项目源文件夹中找到
只是我无法理解 sdkCC2020 的项目要求以及 ALWAYS_SEARCH_USER_PATHS=Yes 与 ALWAYS_SEARCH_USER_PATHS=No 之间的区别
解决方案
https://help.apple.com/xcode/mac/11.4/#/itcaec37c2a6
请参阅上面的文档。该设置在 Xcode 10 及更高版本中已弃用。
当始终搜索用户路径 (ALWAYS_SEARCH_USER_PATHS) 设置为 YES 时生成的旧标头映射不受新构建系统的支持。相反,将 ALWAYS_SEARCH_USER_PATHS 设置为 NO 并迁移到使用现代标头包含语法。将项目存储库中任何需要的头文件添加到 Xcode 项目中,以确保它们可用于#include(通过项目范围的头映射)。对项目标题使用引号样式包含(“example.h”),并为系统标题保留尖括号包含(<example.h>)。
所以对于用户标题:
- 将它们添加到 Xcode 项目中
- 或设置
USER_HEADER_SEARCH_PATHS
为包含文件的路径,相对于$SRCROOT
.
对于系统标头:
- 设置
SYSTEM_HEADER_SEARCH_PATHS
为系统/外部库包含文件的路径。
推荐阅读
- javascript - 比较两个 json 对象并附加唯一项
- java - JAVA中String到Int array[]的转换大小问题
- reactjs - 如何从 React JS 中的列表数据生成多页 pdf
- python-3.x - ModuleNotFoundError:没有名为“堆栈”的模块
- wordpress - 是否有任何 REST API 端点或 graphql 模式来获取仅与特定类别相关的产品属性?
- r - for循环中带有'load.Rdata'的函数
- python - UnicodeDecodeError 中的 Mailgun API Matplotlib python 错误
- c - 为什么 printf 与 long 类型和新行结合使用时会生成垃圾值?
- php - 什么可能阻止此代码工作?
- reactjs - 无法解决 OpenWeatherApi 的 api 的问题,用于使用 Reactjs 中的 axios 使用 City id 获取城市的天气数据