【问题标题】:qmake Projects and Mac OS X SDKsqmake 项目和 Mac OS X SDK
【发布时间】:2012-11-07 12:25:04
【问题描述】:

从 Qt 项目中使用 Mac OS SDK 最明智的方法是什么?你需要有一个基本 SDK (MacOSX10.X.sdk) 的路径,你需要的头文件的路径,并指出你正在使用的框架。

目前我正在我的专业文件中执行此操作(在此处的帮助下;Qt, Qmake and Mac Os X SDKs):

MAC_SDK  = /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk
if( !exists( $$MAC_SDK) ) {
  error("The selected Mac OSX SDK does not exist at $$MAC_SDK!")
}
QMAKE_MAC_SDK = $$MAC_SDK

INCLUDEPATH += $$QMAKE_MAC_SDK/System/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers

DEPENDPATH  += $$QMAKE_MAC_SDK/System/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers

LIBS += -framework CoreFoundation

SDK 位于 Xcode 应用程序包中,到底是什么?我想知道是否存在存储 SDK 路径的环境变量。另外,切换 SDK 版本,我必须走 MAC_SDK 路径并将 10.7 更改为其他版本,这是最好的方法吗?

【问题讨论】:

  • 你不应该手动设置SDK的路径,它是在编译时自动设置的。只需使用您需要的框架。就这些
  • 看来我只需要:INCLUDEPATH += $$QMAKE_MAC_SDK/System/Library/Frameworks/CoreFoundation.framework/Headers DEPENDPATH += $$QMAKE_MAC_SDK/System/Library/Frameworks/CoreFoundation。框架/标题 LIBS += -framework CoreFoundation
  • 那更好,但我仍然不确定你是否真的需要添加框架路径,因为它应该由 qmake 自动添加。

标签: xcode macos qt qmake


【解决方案1】:

Xcode 的最新版本(我认为是 4.4 以后的版本)现在将所有内容都保留在 Xcode 包本身中,而不是之前的 /Developer。其他工具和应用程序需要单独下载。

不知道任何环境变量,除了使用 Xcode(特别是 xcodebuild)来查询 SDK?

我使用了与您在 qmake 项目中选择和使用 SDK 相同的方法。通常,您使用不会经常更改的最新 SDK 进行开发。您可能需要或需要操作系统 (=> SDK) 的 minimum version,因此将使用 -mmacosx-version-min=10.X 编译器选项来声明这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多