gpt4 book ai didi

c++ - 如何从 Qt Creator 项目中调用 Carbon 函数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:35:09 26 4
gpt4 key购买 nike

我正在尝试在 Mac OS X 上的 Qt Creator 项目中使用 ChangeWindowAttributes() 函数。但是我无法构建项目。

我尝试过的:

#include <MacWindows.h>

结果(编译器):找不到文件

#include <Carbon/Carbon.h>

// Or the same:
#include </Developer/Headers/FlatCarbon/MacWindows.h>

结果(编译器):ChangeWindowAttributes 未在此范围内声明

#include <Carbon/Carbon.h>
extern OSStatus ChangeWindowAttributes (
WindowRef window,
WindowAttributes setTheseAttributes,
WindowAttributes clearTheseAttributes
);

// And in *.pro file:
LIBS += -framework Carbon

结果(链接器): undefined symbol ChangeWindowAttributes( ...

我哪里错了?

根据 Google 的说法,似乎每个人都已经知道如何包含它,因此没有任何指南。也许这里有人也有指向该指南或其他内容的链接?

最佳答案

默认情况下,QT Creator 在您的 Mac CPU 架构中构建您的项目。这些库本身来自 x86 和 x86_64 通用二进制文件。这是在您使用诺基亚的预构建 SDK 的情况下。

如果您运行的是支持 64 位的 OS/Mac 组合,例如新 Intel Mac 上的 10.6,它将在 x86_64 中构建。 Carbon 调用仍然可用于您的代码,但仅限那些标记为 64 位兼容的代码。打开 MacWindows.h 并找到 ChangeWindowAttributes。你会在评论中看到:

 *  Availability:
* Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
* CarbonLib: in CarbonLib 1.0 and later
* Non-Carbon CFM: not available

如果您必须调用此(和其他仅 32 位)函数,则必须强制 Creator 在 32 位 (x86) 中构建它。将这些行添加到您的 .pro 文件中:

CONFIG -= x86_64
CONFIG += x86

清理所有并重建。

关于c++ - 如何从 Qt Creator 项目中调用 Carbon 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5821890/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com