gpt4 book ai didi

objective-c - Qt5 似乎找不到 Objective-C 库 : unknown type name 'NSAutoreleasePool' , 等

转载 作者:行者123 更新时间:2023-12-05 03:14:48 25 4
gpt4 key购买 nike

我有一个 Qt4.8.4 桌面应用程序,它在我的 Macbook Pro 上构建和运行良好,使用 Xcode 5.0.2 运行 Mountain Lion,使用 Qt Creator 2.7.0 与 Qt 4.8.4 和 GCC(x86 64 位)。我正在尝试将我的应用程序移植到 Qt 5.2.1。我的代码是 C++ 和一些 Objective-C。

我在同一台 Macbook pro 上用这个配置构建了 Qt5.2.1:

./configure -prefix $PWD/qtbase -debug-and-release -developer-build -no-c++11 -opensource -plugin-sql-sqlite -nomake tests -confirm-license

它的配置和构建都很好。

当我尝试使用 Qt 5.2.1 和 GCC(x86 64 位)或 Clang(x86 64 位)在 Qt Creator 2.7.0 中构建我的应用程序时,我收到很多错误,在我看来这些错误表明目标-我的应用程序的 C 部分找不到它们需要的库。例如:

/Users/david/dev/svn/map_creator3/src/widgets/mac_toolbar_button_proxy.mm:15: warning: instance method '-selectedSegment' not found (return type defaults to 'id') [-Wobjc-method-access]
target_->TriggerAction([sender selectedSegment]);
^~~~~~~~~~~~~~~
/Users/david/dev/svn/map_creator3/src/common/locations_mac.mm:34: error: use of undeclared identifier 'NSWorkspace'
[[NSWorkspace sharedWorkspace]
^
/Users/david/dev/svn/map_creator3/src/widgets/mac_toolbar_button_control.mm:30: error: unknown type name 'NSAutoreleasePool'
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
^

还有很多类似的东西。在 C++ Qt5 桌面应用程序中使用 Object-C 时,我需要在某处添加一些神奇的设置吗?

最佳答案

Merlin069让我在对我的问题的评论中走上正轨(谢谢!),我找到了一个例子 here .当我添加时,这些构建错误(以及许多其他错误)消失了

LIBS += -framework Cocoa

在我提示的 .mm 文件中,

#include <Cocoa/Cocoa.h>

关于objective-c - Qt5 似乎找不到 Objective-C 库 : unknown type name 'NSAutoreleasePool' , 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22391453/

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