Objective c 目标C,C++;,包括两个具有相同类名的文件 我有一个目标C类叫做唐纳德,我还有一个C++类,它是一个静态库,我想在同一个项目中使用它。它们都有一个名为Donald.h的头文件。有什么方法可以做到这一点吗?

Objective c 目标C,C++;,包括两个具有相同类名的文件 我有一个目标C类叫做唐纳德,我还有一个C++类,它是一个静态库,我想在同一个项目中使用它。它们都有一个名为Donald.h的头文件。有什么方法可以做到这一点吗?,objective-c,include,objective-c++,Objective C,Include,Objective C++,您可以通过指定更多的路径来包括这两个头文件,例如 #import "staticlibraryheaders/Donald.h" #import "Donald.h" 但是,您可能会发现代码无法编译,因为您正在声明两种类型,这两种类型都称为Donald。如果编译器看到: Donald* duck; 如何知道将鸭子作为指针指向C++类或Objy-C类的实例?如果C++类位于C++命名空间中,则可以修复此问题。但是,这超出了我的C++知识的极限。< P>可以通过指定更多的路径,例如来包括两个头文

您可以通过指定更多的路径来包括这两个头文件,例如

#import "staticlibraryheaders/Donald.h"
#import "Donald.h"
但是,您可能会发现代码无法编译,因为您正在声明两种类型,这两种类型都称为Donald。如果编译器看到:

Donald* duck;

如何知道将鸭子作为指针指向C++类或Objy-C类的实例?如果C++类位于C++命名空间中,则可以修复此问题。但是,这超出了我的C++知识的极限。

< P>可以通过指定更多的路径,例如

来包括两个头文件。
#import "staticlibraryheaders/Donald.h"
#import "Donald.h"
但是,您可能会发现代码无法编译,因为您正在声明两种类型,这两种类型都称为Donald。如果编译器看到:

Donald* duck;

如何知道将鸭子作为指针指向C++类或Objy-C类的实例?如果C++类位于C++命名空间中,则可以修复此问题。但是,这命中了我的C++知识的极限。

使用命名空间,并限定包含路径的包含文件,这是可能的。但是,我最终更改了静态库中的名称,因为这有点麻烦。使用名称空间并使用此include的路径限定include文件是可能的。然而,我最终改变了静态库中的名称,因为这有点麻烦。