相关疑难解决方法(0)

将C++对象添加到Objective-C类

我正在尝试混合使用C++和Objective-C,我已经完成了大部分工作,但希望在Objective-C和C++代码之间有一个单独的接口类.因此,我想在ViewController接口中拥有一个持久的C++对象.

禁止使用没有类型的'myCppFile'声明失败:

#import <UIKit/UIKit.h>
#import "GLView.h"
#import "myCppFile.h"

@interface GLViewController : UIViewController <GLViewDelegate>
{
    myCppFile cppobject;
}

@end
Run Code Online (Sandbox Code Playgroud)

但是这在.mm实现文件中运行得很好(它不起作用因为我希望cppobject在调用之间保持不变)

#import "myCppFile.h"
@implementation GLViewController
- (void)drawView:(UIView *)theView
{
    myCppFile cppobject;
    cppobject.draw();
}
Run Code Online (Sandbox Code Playgroud)

c++ iphone objective-c objective-c++

18
推荐指数
1
解决办法
2万
查看次数

我可以在编译和链接中将C++主函数和类与Objective-C和/或C例程分开吗?

我有一个小的C++应用程序,我导入了Objective-C类.它可用作Objective-C++文件,.mm,但任何包含可能最终包含某些Objective-C标头的标头的C++文件必须重命名为.mm扩展名以获取正确的GCC驱动程序.

有没有办法为Objective-C类编写一个纯粹的C++包装器,或者我可以以某种方式将Objective-C对象分开并将它们分开链接?也许即使Objective-C类成为一个小型库,我可以在编译时静态重新链接?

问题是这个代码是跨平台的,并且在通常不使用Objective-C(即不是Mac)的系统上编译更加困难.即使预处理器命令限制在Windows或Linux上实现Objective-C代码,原始代码仍然具有.mm扩展名,GCC仍将代码视为Objective-C++.

c++ compiler-construction objective-c objective-c++

6
推荐指数
1
解决办法
1952
查看次数