如何使用 pkg-config 在 Xcode 中设置包含路径?
Posted
技术标签:
【中文标题】如何使用 pkg-config 在 Xcode 中设置包含路径?【英文标题】:How to use pkg-config for setting include paths in Xcode? 【发布时间】:2011-03-05 12:29:05 【问题描述】:例如,如果我需要 Gtk+ 包含路径。
Xcode项目设置中如何使用pkg-config gtk+-2.0 --cflags
?
【问题讨论】:
【参考方案1】:一个选项,但它对于项目中的其他开发人员来说不是很便携——您可以在终端中运行pkg-config gtk+-2.0 --cflags
并将其粘贴到Build Settings -> Other C Flags
。不过,我很想听听其他人如何以更便携的方式处理这个问题。理想情况下,最好在编译时运行 pkg-config 以使构建更加独立于系统。
【讨论】:
我也试过这个,虽然不是很理想,但这是我目前找到的最好的解决方案。理想情况下,Xcode 应该有一个 Gtk 框架。这里有一个,但该页面还警告说它不够稳定,无法供最终用户使用:sourceforge.net/apps/trac/gtk-osx/wiki/Build#Framework 这样做之后,我的xcode中仍然没有Gtk/gtk.h这样的文件或目录。我在这里有什么遗漏吗?【参考方案2】:-
创建聚合目标
在构建阶段,添加一个运行脚本
#!/bin/bash
OTHER_CPLUSPLUSFLAGS="$(pkg-config gtk+-2.0 --cflags)"
echo -e "OTHER_CPLUSPLUSFLAGS = \$(inherited) $OTHER_CPLUSPLUSFLAGS" > MyApp.xcconfig
在项目的 Info 中,将 MyApp.xcconfig 设置为目标配置文件
在应用目标的构建阶段中,将聚合目标添加为依赖项 在您的版本控制中排除 MyApp.xcconfig一个缺点是,在您直接或间接构建聚合目标至少一次之前,自动完成将无法正常工作。
【讨论】:
【参考方案3】:更便携的方法是编写一个脚本,将 pkg-config 的输出写入 .xcconfig 文件,然后将其包含在您的项目中。请确保不要将其添加到您的源代码库中。
【讨论】:
【参考方案4】: 使用使用 pkg-config 和任何其他 shell 工具的 makefile 来构建 lib。为将在 XCode 中编译的库创建一个小的、无依赖关系的 API 文件,并将其和构建的库包含在 XCode 构建中。
可选:将 makefile 构建封装到 XCode 中的“运行脚本”构建步骤中。
【讨论】:
以上是关于如何使用 pkg-config 在 Xcode 中设置包含路径?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用以下make和pkg-config使clion工作?
如何将 pkg-config 名称映射到 yum/apt-get