【问题标题】:How do I compile Xcode project through command line using Clang?如何使用 Clang 通过命令行编译 Xcode 项目?
【发布时间】:2016-01-10 00:01:54
【问题描述】:

所以,我正在寻找一种在 OS X 上使用 C++ 截取全屏屏幕截图的方法。我找到了这个示例代码,我认为它符合目的:

ScreenSnapshot

这是一个 Xcode 项目。通过链接这些,我设法使用 Clang 编译了 .m 和 .h 文件:

-framework cocoa -framework ApplicationServices -framework Foundation -framework IOKit

嗯,这就是问题所在。可执行文件吐出:

应用程序包中没有 Info.plist 文件或 NSPrincipalClass 中没有 Info.plist 文件,正在退出

这个 Info.plist 文件是什么?我可以避免吗?

【问题讨论】:

标签: c++ xcode macos info.plist


【解决方案1】:

您在问题中提出了三个单独的问题(避免这样做,每个问题一个问题是预期用途):

  • 如何从命令行编译 Xcode 项目?

    只需cd 到项目根目录并运行xcodebuild.app 捆绑包将放置在 build/Release 下(可能会因您在 Xcode 中的构建位置配置而异)。

  • 如何在 OS X 上使用 C++ 截取全屏截图?

    Stack Overflow 上有很多关于这个主题的重复内容。只需搜索“screenshot os x c++”即可。

  • Info.plist 是什么,你能避免它吗?

    我无法回答这个问题,所以我会把它留给其他人。 Apple Developer 网站上似乎有关于它的pretty extensive documentation(可以通过谷歌搜索“info.plist”)。

【讨论】:

  • 输出是一个充满杂物的文件夹 :) 我需要将此代码与我的其他代码一起使用,这与 xcode 不兼容。我需要使用 gcc (clang)。如果你的操作给了我一个我可以静态链接的目标文件……
  • ...您知道“充满杂物的文件夹”是捆绑 Mac OS X 应用程序的标准方式,对吧?
  • @duskwuff 是的,我知道。但是我可以静态链接到文件夹中的任何内容吗?我希望将功能内置到我的主程序中。
  • @user3496846 不。阅读示例代码并重用相应的部分。这并不复杂;应用程序的核心实际上是一个函数调用。
  • @duskwuff 实际上就是这样,核心是几行:) 谢谢
猜你喜欢
  • 1970-01-01
  • 2012-02-21
  • 1970-01-01
  • 2016-05-29
  • 1970-01-01
  • 1970-01-01
  • 2017-07-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多