我目前正忙于一个项目,我需要使用外部附件来阅读Mifare 1k tags。
附件提供了一个SDK,用(Objective?)C ++编写,我按照提供的指令将XCode设置为“将源代码编译为:Objective-C ++”并在“其他链接器标志”中添加“-Obj-C ++”
SDK编译好了,但麻烦的是我已经在项目中使用了几个库(例如ASIHTTPRequest,JSONKit,...),由于这些库中的那些新设置,我得到了编译问题。如果我切换回以前的设置,我会在阅读器的SDK
中遇到编译问题问题是:有没有办法只将SDK中的类编译为C ++,将项目的其余部分编译为objective-c?
编辑:SDK文件仅包含.h(和链接库)
感谢您的帮助, 麦克
答案 0 :(得分:24)
从文件导航器中选择要编译为Objective C ++的文件,然后在文件检查器视图中选择文件类型。这是在Xcode 4中,但Xcode 3中有类似的机制。
答案 1 :(得分:5)
尝试将包含库标题的文件重命名为myClass.h for interface,将myClass.mm重命名为实现文件。这会强制将文件编译为objective-c ++。
答案 2 :(得分:4)
我已经解决了这个问题:
答案 3 :(得分:0)
好吧,在构建阶段标签中,有一个部分编译源。对于要使用 Objective-C++ 编译器的文件添加标志:-xobjective-c++
在 Xcode 12.5 中测试