【问题标题】:stray '@' in program程序中的杂散“@”
【发布时间】:2013-01-14 12:06:06
【问题描述】:

我想在 Mac OS X 上的 Qt 应用程序中使用 NSRunningApplication。 我试图在mainwindow.cpp 中包含这些头文件:

#include Cocoa/Cocoa.h
#include Foundation/Foundation.h
#include AppKit/NSRunningApplication.h
#include AppKit/NSWorkspace.h
#include ApplicationServices/ApplicationServices.h
#include "CGWindow.h".

.pro 文件中也包含以下内容

INCLUDEPATH     += /System/Library/Frameworks/Foundation.framework/Headers

但这会产生错误:stray '@' in program

/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:6:
In file included from /System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:6,
/System/Library/Frameworks/Foundation.framework/Headers/NSZone.h:8 : error: stray '@' in program.

我的问题是:
如何在我的应用程序中使用NSRunningApplication? 要包含哪些文件以及在何处/如何删除这些错误?

【问题讨论】:

    标签: macos cocoa qt


    【解决方案1】:

    您需要创建一个 objc 文件。将扩展名更改为 .mm 并使用 objc 指令导入框架:

    #import <Foundation/Foundation.h>
    

    【讨论】:

    • 感谢 Kamil 向我们展示了正确的方向...但是您能否告诉我们更多类似的信息 - 我们应该使用 main.mm 文件而不是 main.cpp 文件还是其他文件。如果可能和/或适用,请详细说明并包含更多代码。
    • 不,只有你使用 obj-c 的文件应该是 mm 文件
    猜你喜欢
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多