Xcode 包含系统样式的预处理器宏 headers
Xcode preprocessor macros to include system style headers
我正在尝试手动将 freetype 2.9.0 作为框架构建目标添加到我在 Xcode 中的玩具项目中。 Freetype 使用预处理器宏将其 headers 包含在尖括号 (<freetype/config/xx.h>
) 中,这混淆了 Xcode 构建系统,我收到错误 expected "FILENAME" or <FILENAME>
,表明它不能找到我的系统级别包括。我将如何配置 Xcode 构建系统来查找这些配置文件,而不是对子文件夹 headers 进行硬编码?
我在另一个文件中试过这个
#define SOME_CONFIG <glfw/glfw3.h> /*this header is included as a system header in a subfolder <project/glfw/... , and works fine*/
#ifdef SOME_CONFIG
#include SOME_CONFIG
#endif
而且效果很好。但是当我用 freetype 尝试这个时,它找不到宏中的扩展。
freetype 包含结构如下所示:
include/ftbuild.h -- points to include/freetype/config/ftheader.h
include/config/ftheader.h -- has all the #define macros to ->
include/config/... -- a bunch of headers with options which Xcode refuse to see
显然它实际上一直在工作我只是忘记将环境变量 FT2_BUILD_LIBRARY 添加到调试和发布版本中,我将它设置为调试,所以内部头文件宏没有被预编译,因此没有找到。非常适合做我在 Xcode 9.
中尝试做的事情
我正在尝试手动将 freetype 2.9.0 作为框架构建目标添加到我在 Xcode 中的玩具项目中。 Freetype 使用预处理器宏将其 headers 包含在尖括号 (<freetype/config/xx.h>
) 中,这混淆了 Xcode 构建系统,我收到错误 expected "FILENAME" or <FILENAME>
,表明它不能找到我的系统级别包括。我将如何配置 Xcode 构建系统来查找这些配置文件,而不是对子文件夹 headers 进行硬编码?
我在另一个文件中试过这个
#define SOME_CONFIG <glfw/glfw3.h> /*this header is included as a system header in a subfolder <project/glfw/... , and works fine*/
#ifdef SOME_CONFIG
#include SOME_CONFIG
#endif
而且效果很好。但是当我用 freetype 尝试这个时,它找不到宏中的扩展。
freetype 包含结构如下所示:
include/ftbuild.h -- points to include/freetype/config/ftheader.h
include/config/ftheader.h -- has all the #define macros to ->
include/config/... -- a bunch of headers with options which Xcode refuse to see
显然它实际上一直在工作我只是忘记将环境变量 FT2_BUILD_LIBRARY 添加到调试和发布版本中,我将它设置为调试,所以内部头文件宏没有被预编译,因此没有找到。非常适合做我在 Xcode 9.
中尝试做的事情