从C++;在iPhone应用程序中 我有一段代码,用C++编写,是跨平台的,使用opencv. 我的C++代码对图像输入做了一些处理。 我想用iOS的AVASP解码视频,并把数据发送到C++进行处理。 我可以找到很多教程,允许我在我的应用程序中运行C++代码,但是我需要调用C++的ObjuleC函数来请求视频的下一帧。

从C++;在iPhone应用程序中 我有一段代码,用C++编写,是跨平台的,使用opencv. 我的C++代码对图像输入做了一些处理。 我想用iOS的AVASP解码视频,并把数据发送到C++进行处理。 我可以找到很多教程,允许我在我的应用程序中运行C++代码,但是我需要调用C++的ObjuleC函数来请求视频的下一帧。,c++,ios,objective-c,opencv,avfoundation,C++,Ios,Objective C,Opencv,Avfoundation,请帮忙 哦,我知道OpenCV有一个VideoReader类,但我需要自己的实现。Objective消息调用由编译器转换为对运行库的调用-有关消息调用,请参阅objc\u msgSend。您可以用C++从手工调用这个运行时函数。< /P> 一个更为简单的方法是将C++部分移植到ObjtoVC++中。 最简单的方法是将MyFiel.CPP更改为MyFiel.mm。然后编译器将解释为ObjuleC++,并可以将AvFoop导入.mm文件中,使用Objtovi.C.P/>为什么不在Objtovi-C

请帮忙


哦,我知道OpenCV有一个VideoReader类,但我需要自己的实现。

Objective消息调用由编译器转换为对运行库的调用-有关消息调用,请参阅
objc\u msgSend
。您可以用C++从手工调用这个运行时函数。< /P>


一个更为简单的方法是将C++部分移植到ObjtoVC++中。

最简单的方法是将MyFiel.CPP更改为MyFiel.mm。然后编译器将解释为ObjuleC++,并可以将AvFoop导入.mm文件中,使用Objtovi.C.P/>为什么不在Objtovi-C中迭代视频帧,只调用相应的C++函数而不是请求C++的下一个帧?可悲的是,代码不是这样工作的。代码由用户进行某种动作,然后调用C++函数,执行一些长过程(这是跨平台),然后在过程中间需要解码视频并处理每个帧的数据。所以你的建议要求我把我的C++代码的一部分拷贝到Objtovi-C,因此失去了它的跨平台特性。你看到了吗?你有没有想过把相关的C++部分移植到ObjtoVC++?方法调用应该很容易。如果这是不可能的:ObjC方法调用是对ObjcC运行时的简单调用,它是纯C。到目前为止,这与我解决它的方式类似,我将尝试稍后发布完整的答案:)