Xcode预处理器宏包含系统样式头

时间:2018-03-25 00:28:17

标签: c++ c xcode build-system freetype2

我试图手动将freetype 2.9.0作为框架构建目标添加到Xcode中的玩具项目中。 Freetype使用预处理器宏来包含带有斜角括号(<freetype/config/xx.h>)的标题,这会使Xcode构建系统混乱,我收到错误expected "FILENAME" or <FILENAME>,表明它无法找到我的系统级别包含。而不是硬编码子文件夹头,我如何配置Xcode构建系统来找到这些配置文件?

我在另一个文件中试过这个

#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结构如下所示:

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

1 个答案:

答案 0 :(得分:1)

显然它实际上一直在工作我只是忘了将环境变量FT2_BUILD_LIBRARY添加到调试和发布版本,我把它设置为调试,因此内部头宏未被预编译,因此找不到。在Xcode 9中做我想做的事情非常好。

Environment varialbes