2010-06-18 59 views

回答

2

一个选项,但对于项目中的其他开发人员来说不是很方便 - 您可以在终端中运行pkg-config gtk+-2.0 --cflags并将其粘贴到Build Settings -> Other C Flags中。我有兴趣听听其他人如何以更便携的方式处理这个问题。理想情况下,在编译时运行pkg-config将使构建更加独立于系统是很好的。

+0

我也试过这个,但它并不理想,但这是迄今为止我发现的最佳解决方案。理想情况下,Xcode应该有一个Gtk框架。这里有一个,但该页面还警告说,它不够稳定,最终用户使用:https://sourceforge.net/apps/trac/gtk-osx/wiki/Build#Framework – ptomato 2010-11-24 09:47:24

+0

这样做后,我仍然有Gtk/gtk.h在我的xcode中没有这样的文件或目录。我在这里错过了什么吗? – 2012-01-08 08:45:32

0

更便携的方法是编写脚本,将pkg-config的输出写入.xcconfig文件,然后将其包含在项目中。请确保不要将其添加到源代码库中。

0
  • 使用使用pkg-config和任何其他shell工具构建lib的makefile。
  • 为将在XCode中编译的lib创建一个小的,无依赖关系的API文件,并将其包含在XCode构建中并将其包含在内。

  • 可选:将makefile构建封装到XCode中的“运行脚本”构建步骤。

0
  1. 创建总目标
  2. 在构建阶段,在你的项目中添加一个运行脚本

    #!/bin/bash 
    
    OTHER_CPLUSPLUSFLAGS="$(pkg-config gtk+-2.0 --cflags)" 
    echo -e "OTHER_CPLUSPLUSFLAGS = \$(inherited) ${OTHER_CPLUSPLUSFLAGS}" > MyApp.xcconfig 
    
  3. 在信息,设置MyApp.xcconfig作为目标配置文件

  4. 在您的应用目标中构建阶段中,将聚合目标添加为依赖关系
  5. 在您的版本控制中排除MyApp.xcconfig

一个缺点是,除非您至少直接或间接构建aggerate目标,否则自动完成功能将无法正常工作。

相关问题