/ / Chiamare una funzione Objective-C da C ++ in un'app per iPhone - c ++, ios, goal-c, opencv, avfoundation

Chiamare una funzione Objective-C da C ++ in un'app per iPhone - c ++, ios, ogg-c, opencv, infondazione

Ho un pezzo di codice scritto in C ++ che è multipiattaforma e usa OpenCV.

Il mio codice C ++ esegue alcune elaborazioni su un input di immagine.

Voglio utilizzare AVFoundation di iOS per decodificare un video e inviare i dati a C ++ per l'elaborazione.

Posso trovare molti tutorial che mi consentono di eseguire il codice C ++ nella mia app, ma ciò di cui ho bisogno è chiamare una funzione Objective-C da C ++ che richiederà il prossimo fotogramma del video.

Per favore aiuto.

Oh, e so che OpenCV ha una classe VideoReader - ma devo avere la mia implementazione.

risposte:

1 per risposta № 1

Il modo più semplice è semplicemente cambiare myFile.cpp in myFile.mm. Quindi il compilatore lo interpreterà come Objective-C ++ e puoi importare AVFoundation nel file .mm e usare Objective-C.


0 per risposta № 2

Le chiamate ai messaggi ObjectiveC vengono tradotte dal compilatore in chiamate alla libreria di runtime - per le chiamate ai messaggi fare riferimento a objc_msgSend. Puoi chiamare questa funzione di runtime a mano dal tuo codice C ++.

Guida alla programmazione Runtime Objective-C / Messaggi

Un modo ulteriore - e forse più semplice - sarebbe quello di portare le parti C ++ su Objective-C ++.