c++ 混合目标C,(*.m,* .mm和.c .cpp)文件

c++ 混合目标C,(*.m,* .mm和.c .cpp)文件,第1张

概述在我的项目中,Core库是C/C++文件的一部分,而UI需要在Objective C中开发, 我可以从Objective C / .mm文件访问/调用C函数 但是到目前为止还没有运气,即我不能从C Files调用Objective C函数, 当我试图包括Objective C头甚至系统头 #import <foundation/foundation.h> 绕过1000个编译错误, 这样的东西 /D 在我的项目中,Core库是C/C++文件的一部分,而UI需要在Objective C中开发,
我可以从Objective C / .mm文件访问/调用C函数
但是到目前为止还没有运气,即我不能从C files调用Objective C函数,
当我试图包括Objective C头甚至系统头

#import <foundation/foundation.h>

绕过1000个编译错误,

这样的东西

/Developer/SDKs/MacOSX10.6.sdk/System/library/Frameworks/Foundation.framework/headers/NSObjCRuntime.h:180:0 /Developer/SDKs/MacOSX10.6.sdk/System/library/Frameworks/Foundation.framework/headers/NSObjCRuntime.h:180: error: expected unqualifIEd-ID before '@' token/Developer/SDKs/MacOSX10.6.sdk/System/library/Frameworks/Foundation.framework/headers/NSObjCRuntime.h:182:0 /Developer/SDKs/MacOSX10.6.sdk/System/library/Frameworks/Foundation.framework/headers/NSObjCRuntime.h:182: error: expected initializer before '*' token/Developer/SDKs/MacOSX10.6.sdk/System/library/Frameworks/Foundation.framework/headers/NSObjCRuntime.h:183:0 /Developer/SDKs/MacOSX10.6.sdk/System/library/Frameworks/Foundation.framework/headers/NSObjCRuntime.h:183: error: 'Nsstring' was not declared in this scope/Developer/SDKs/MacOSX10.6.sdk/System/library/Frameworks/Foundation.framework/headers/NSObjCRuntime.h:183:0 /Developer/SDKs/MacOSX10.6.sdk/System/library/Frameworks/Foundation.framework/headers/NSObjCRuntime.h:183: error: 'aSelectorname' was not declared in this scope

我缺少一些预编译的旗帜等.
任何人都可以建议我,最好的方式来调用它从NSObject的继承/访问目标C级,而不需要修改太多的C代码,我只需要调用一个函数

代码结构/包含头文件的顺序是

Some system header fileSome Core Class header file #import <foundation/foundation.h>
解决方法 如果您有一个需要使用Objective-C的C代码的.cpp文件,请将.cpp文件重命名为.mm或将-x objective-c重命名为编译器. 总结

以上是内存溢出为你收集整理的c++ 混合目标C,(*.m,* .mm和.c /.cpp)文件全部内容,希望文章能够帮你解决c++ 混合目标C,(*.m,* .mm和.c /.cpp)文件所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1030505.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存