passer un code en c pour une appli ipad

Bonjour tout le monde,


 


Je suis novice dans le dev d'appli, donc soyez indulgents !


J'ai un code en C qui tourne très bien (je n'ai jamais utilisé Xcode pour développer).


Mon but serait de le porter pour une appli ipad. La première de mes questions est est-ce qu'on peut utiliser au moins des bouts de code C dans Xcode ou est-ce que je dois tout réécrire en Objective C ?


 


Merci beaucoup


Réponses

  • ObjC est une surcouche du C, donc oui tu peux utiliser du code C.
  • Y a-t-il un genre tuto qui pourrait surtout me dire comment et où insérer mon code C ?

     


    Merci


  • CéroceCéroce Membre, Modérateur

    Tu mets ton code C dans le projet, c'est tout.


     


    Ensuite, ce qui concerne l'interface utilisateur (Cocoa) est écrit en Objective-C, mais comme Objective-C est 100% compatible avec le langage C, tu n'as qu'à  appeler les fonctions C dans le code ObjC.


  • Désolée de ma naà¯veté sur le sujet..


    Je mets mes fichiers .cpp et .h au niveau des fichiers "main.m", "ViewController.h" et "ViewController.h.m" ? et c'est tout ?


    Si ce n'est que ça, j'adore faire des appli iPad en urgence pour ma boà®te !!!


    ;o)


  • désolée je rajoute une question...


    Je ne vois pas comment faire le lien entre mes fichiers code à  moi et le viewcontroller.


     


    Merci pour votre aide


  • CéroceCéroce Membre, Modérateur

    Oui, c'est ça, mais il va bien falloir appeler le code C quelque part, quand même ! Ne serait-ce que pour l'initialiser.


     


    À ce propos, les fichiers en .cpp, sont du C++, pas du C. On peut mélanger ObjC et C++ dans certaines limites: le code ObjC peut instancier des objets C++ et appeler ses méthodes. Par contre, il faut renommer les fichiers ObjC en .mm. Recherche "Objective-C++" sur le web pour plus d'infos.


  • CéroceCéroce Membre, Modérateur


    désolée je rajoute une question...


    Je ne vois pas comment faire le lien entre mes fichiers code à  moi et le viewcontroller.


     


    Merci pour votre aide




     


    La méthode -viewDidLoad du VC est appelée lorsque la vue a été chargée. ça peut être un bon endroit pour lancer la capture vidéo, par exemple. Regarde sur le site d'OpenCV, je suis quasiment sûr qu'ils donnent des infos.


     


    Mais sinon, ça reste classique: tu fais le #include du .h, et tu appelles les fonctions.

  • Ok, je te remercie.


    Effectivement les .cpp sont pour du C++, mais en bons dev que nous sommes, nous faisons un joyeux mélange de C et de C++.


    Mon code de base est très complexe avec un grand nombre de libs à  appeler, un bon vieux makefile bien complexe... bref, ... le but du jeu est que je le simplifie au max pour avoir mon appli ipad à  l'arrivée.


     


    Merci beaucoup pour ton aide

  • Salut,


     


    Si tu utilise un grand nombre de librairies regarde bien leur compatibilité avec CocoaTouch. Essaye une recherche sur le web mais souvent il est plus rentable (en temps) d'utiliser les lib d'apple (pour ce qui est graphique, audio et autre).

  • Je vous remercie pour vos conseils.


    Je vais tenter ma chance et je reviendrai vers vous en cas de doute !


    Merci


  • Rebonjour tout le monde,


     


    Je suis en train d'essayer ce tuto :


    http://docs.opencv.org/trunk/doc/tutorials/ios/video_processing/video_processing.html.


     


    J'ai un problème dès le départ dans ViewController.h  j'insère les lignes suivantes:



    #import <opencv2/videoio/cap_ios.h>
    using namespace cv;

    et là  j'ai une erreur "opencv2/videoio/cap_ios.h" file not found.


     


    J'ai bien opencv2.framework inséré dans mes frameworks.

    J'ai testé diverses solutions trouvées sur internet comme changer mes .m en .mm, mais rien n'y fait.


    Si quelqu'un a déjà  testé ça...


     


    Pour info j'ai Xcode 5.1.1, ios 7.1


     


    Merci


     


  • AliGatorAliGator Membre, Modérateur
    Que vaut le setting FRAMEWORK_SEARCH_PATH pour qu'il puisse savoir où chercher les headers ?
  • /System/Library/Frameworks        /Library/Frameworks


     


    Pour debug et Release


  • AliGatorAliGator Membre, Modérateur
    Bon bah voilà , si ton OpenCV n'est pas dans un de ces 2 chemins, il ne va pas trouver ses headers du coup, normal ;)
  • mon opencv2.framework est dans /Library/Frameworks/ c'est moi qui l'ai mis


  • bon... J'ai recommencé en mettant le opencv2.framework sur mon bureau (et en changeant le FRAMEWORK_SEARCH_PATH). Il devait y avoir une question de droit d'accès car maintenant, je n'ai plus l'erreur.


     


    Merci pour ton aide


Connectez-vous ou Inscrivez-vous pour répondre.