如何在objective-c中编译特定文件++以及 Objective-c 中项目的其余部分

发布于 2024-11-03 01:14:31 字数 493 浏览 0 评论 0原文

我目前正忙于一个项目,需要使用外部配件来读取 Mifare 1k 标签。

该附件附带了一个 SDK,用(Objective?)C++ 编写,我按照提供的说明将 XCode 设置为“将源编译为:Objective-C++”,并在“其他链接器标志”中添加了“-Obj-C++”。

SDK那么编译就可以了,但问题是我已经在项目中使用了几个库(例如 ASIHTTPRequest、JSONKit 等),并且由于这些库中的新设置而出现编译问题,如果我切换回以前的设置,我在阅读器的 SDK 中遇到编译问题

问题是:有没有办法仅将 SDK 中的类编译为 C++,并将项目的其余部分编译为 Objective-C

编辑: SDK 文件包含?仅 .h (和链接库)

感谢您的帮助, 麦克风

I'm currently busy on a project where I need to use an external accessory to read Mifare 1k tags.

The accessory was provided with an SDK, written in (Objective ?)C++ and I followed the instructions provided to set XCode to "Compile sources as: Objective-C++" and added "-Obj-C++" in "Other linkers flags.

The SDK compiles fine then, but trouble is I am already using several libraries in the project (such as ASIHTTPRequest, JSONKit, ...) and I get compilation problems because of those new settings in those libraries. If I switch back to the previous settings, I get compilation problems in the reader's SDK

The question is: is there a way to compile only the class from the SDK as C++ and the rest of the project as objective-c ?

Edit: the SDK files consists only of .h (and a linked library)

thanks for your help,
Mike

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

安稳善良 2024-11-10 01:14:31

从文件导航器中选择要编译为 Objective C++ 的文件,然后在文件检查器视图中选择文件类型。这是 Xcode 4 中的情况,但 Xcode 3 中也有类似的机制。

从文件检查器中选择文件类型

Select the file you want to compile as Objective C++ from the file navigator, and then select the File Type in the file inspector view. This is in Xcode 4, but there is a similar mechanism in Xcode 3.

Selecting File Type from the file inspector

纸短情长 2024-11-10 01:14:31

尝试将包含库头文件的文件重命名为 myClass.h(用于接口)和 myClass.mm(用于实现文件)。这会强制将文件编译为 Objective-C++。

Try renaming the files where you are including the library headers to myClass.h for interface and myClass.mm for implementation files. This forces the files to be compiled as objective-c++.

剩一世无双 2024-11-10 01:14:31

我已经解决了这个问题:

  1. 您应该将“根据文件类型”设置为“编译源为”,
  2. 将“-ObjC++”设置为“其他链接器标志”
  3. 最后,您应该将引用的文件后缀修改为.mm
    库方法

I have resolved this problem:

  1. You should set "According to file type" to "Complile Sources As",
  2. Set "-ObjC++" to the "Other Linker Flags"
  3. The last,you should modify the files's suffix to .mm that reference
    the library method
爱要勇敢去追 2024-11-10 01:14:31

好吧,在构建阶段选项卡中,有一个编译源部分。对于要使用 Objective-C++ 编译器的文件,添加标志:-xobjective-c++

在 Xcode 12.5 中测试

well, in Build phases tab, there is a section Compile sources. For file you want to use Objective-C++ compiler add flag: -xobjective-c++

tested in Xcode 12.5

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文