Tho*_*omi 13 c++ cocoa qt qmake objective-c
我在Mac上有一个纯C++/Qt项目,但我现在发现我需要调用一些只在Cocoa API中可用的方法.按照此处列出的说明:
http://el-tramo.be/blog/mixing-cocoa-and-qt
我在".m"文件中有一个C++类实现.作为测试,我的"foo.m"文件包含以下代码(#include为清晰起见,已删除相关方法):
int foo::getMagicNumber()
{
NSCursor *cursor = [NSCursor new];
}
Run Code Online (Sandbox Code Playgroud)
显然,我需要将.m文件添加到名为的qmake变量中OBJECTIVE_SOURCES.我的项目.pro文件如下所示:
TARGET = testApp
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
OBJECTIVE_SOURCES += foo.m
HEADERS += test.h
Run Code Online (Sandbox Code Playgroud)
但是,每当我尝试编译项目时,都会收到以下错误:
foo.h:4expected '=', ',', ';', 'asm' or '__attribute__' before 'foo'
这是指向class foo我的头文件中的文件.如果我从.m文件中删除所有cocoa调用,并将.m文件移动到SOURCES我的Qt .pro文件的部分,一切都按预期工作.
我正在使用Qt 4.6.0.
我的问题是:将Cocoa调用与Qt/C++集成的推荐方法是什么,以及我在上面的例子中做错了什么?
ric*_*chb 18
它正在将您的.m文件编译为Objective-C.您希望它是.mmObjective-C++ 的文件.
| 归档时间: |
|
| 查看次数: |
9393 次 |
| 最近记录: |