例如,如果我需要Gtk+的包含路径。
如何在Xcode项目设置中使用
pkg-config gtk+-2.0 --cflags
?pkg-config gtk+-2.0 --cflags
?In Build Phases, add a Run Script
#!/bin/bash
OTHER_CPLUSPLUSFLAGS="$(pkg-config gtk+-2.0 --cflags)"
echo -e "OTHER_CPLUSPLUSFLAGS = \$(inherited) ${OTHER_CPLUSPLUSFLAGS}" > MyApp.xcconfig
In Info in your project, set MyApp.xcconfig as your target configuration file
一个缺点是,直到您至少直接或间接地构建聚合目标一次,自动完成才能正常工作。
有一种选择,但在项目中对其他开发人员不太便携 - 您可以在终端中运行pkg-config gtk+-2.0 --cflags
并将其粘贴到Build Settings -> Other C Flags
中。但我很想听听其他人如何以更便携的方式处理这个问题。理想情况下,在编译时运行pkg-config可以使构建更加独立于系统。
为该lib创建一个小型、无依赖的API文件,可以在XCode中编译,并将其和构建的lib包含在XCode构建中。
可选:将makefile构建封装到XCode的“Run Script”构建步骤中。
OTHER_LDFLAGS
:#!/bin/sh
OTHER_CPLUSPLUSFLAGS=$(pkg-config --cflags gtk+-2.0)
OTHER_LDFLAGS=$(pkg-config --libs gtk+-2.0)
echo "OTHER_CPLUSPLUSFLAGS = \$(inherited) ${OTHER_CPLUSPLUSFLAGS}" > MyApp.xcconfig
echo "OTHER_LDFLAGS = \$(inherited) ${OTHER_LDFLAGS}" >> MyApp.xcconfig