使用ObjC类时出错包含在.cpp文件中(unqualified-id @class)

时间:2017-09-01 13:14:22

标签: ios objective-c wikitude-sdk

我正在使用Wikitude SDK并在添加Wikitude示例文件夹中支持的某个文件时,它会向我显示基础文件错误,如下所示。

  

包含来自的文件   /Volumes/DATA/Dhanesh/Projects/experiments/AR/ARWikiDemo/ARWikiDemo/WikiSDK/Controller/Examples/Categories/PluginsAPI/CustomCamera/YUVFrameInputPlugin.cpp:11:   在包含的文件中   /Volumes/DATA/Dhanesh/Projects/experiments/AR/ARWikiDemo/ARWikiDemo/WikiSDK/Controller/Examples/Categories/PluginsAPI/CustomCamera/WTDeviceCamera.h:9:   在包含的文件中   /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.3.sdk/System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:8:   /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.3.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSObjCRuntime.h:492:1:   错误:期望的unqualified-id @class NSString,Protocol;

这里没有弄错,但它说的是

所有NSStringNSObjectNSLog都是 unqualified-id @class

我已经设置了所有相关的Linker标志和Header&库的serch路径,但仍然高于错误。

任何人都可以指导我这里出错吗?

错误屏幕截图供参考:

enter image description here

提前致谢!

1 个答案:

答案 0 :(得分:0)

对于上述问题,我很努力,最后我用下面的解决方案来结束这个。

  • 要在.cpp中使用ObjC文件,我们只需将.cpp扩展名转换为.mm ObjC++编译器。 (感谢Mats对你的评论帮助我很多。)
  • 在构建设置中将源代码编译为ObjectiveC++

参考链接1: Objective-C++ and .cpp files in Xcode

参考链接2: Adding C++ code to an iOS project

希望这可以帮助那些面临与.CPP分机相关的同一问题的人。

感谢。