如何混合Qt,C和Obj-CC++ocoa

如何混合Qt,C和Obj-CC++ocoa,第1张

概述我在Mac上有一个纯C / Qt项目,但现在我发现我需要调用 Cocoa API中的几种方法.以下列出的说明: http://el-tramo.be/blog/mixing-cocoa-and-qt 我在“.m”文件中有一个C类实现.作为测试,我的“foo.m”文件包含以下代码(为了清楚起见,相关的#include方法已被剥离): int foo::getMagicNumber(){ N 我在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];}

显然,我需要将.m文件添加到名为OBJECTIVE_SOURCES的qmake变量中.我的项目.pro文件如下所示:

TARGET = testAppCONfig += consoleCONfig -= app_bundleTEMPLATE = appSOURCES += main.cppOBJECTIVE_SOURCES += foo.mheaderS += test.h

但是,当我尝试编译我的项目时,我会收到以下错误:

foo.h:4在’foo’之前,先将’=’,’,’;’,’asm’或’__attribute__’

这指向我的头文件中的foo文件类.如果我从.m文件中删除所有可可电话,并将.m文件移动到我的Qt .pro文件的“SOURCES”部分,这些都可以按预期方式工作.

我使用Qt 4.6.0.

我的问题是:将可可电话与Qt / C集成在一起的推荐方法是什么,上面的例子中我做错了什么?

解决方法 它正在将.m文件编译为Objective-C.您希望它成为Objective-C的.mm文件. 总结

以上是内存溢出为你收集整理的如何混合Qt,C和Obj-C/C++ocoa全部内容,希望文章能够帮你解决如何混合Qt,C和Obj-C/C++ocoa所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1026930.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存