Ajouter la librairie C++ à vos projets

Ajouter la librairie C++ à vos projets

Les librairies Yoctopuce comprennent plusieurs exemples de code qui illustrent comment interagir avec nos modules. Dans la librairie C++ nous incluons les binaires compilés pour les différents OS, les fichiers Makefile et les projets pour différents IDE supportés. Cela vous permet de modifier les exemples et de les recompiler à volonté. Cependant nous n'expliquons pas comment nous avons créé ces projets. Si pour certains IDE c'est très facile et intuitif, pour d'autre c'est un peu plus compliqué. Cette semaine nous allons donc voir en détail comment créer un projet C++ qui recompile la librairie Yoctopuce depuis le code source.


Nous avons un article plus récent qui couvre les versions plus récentes des IDE : Ajouter la librairie C++ dans votre IDE en 2021.

Comme exemple, nous allons créer une application en C++ en ligne de commande qui va simplement afficher sur la sortie standard tous les modules Yoctopuce connectés. Nous allons montrer comment créer un nouveau projet C++, inclure les fichiers sources de la librairie Yoctopuce et écrire les quelques lignes de code de la fonction main.

Voici le code de notre petit programme de test.

// Setup the API to use local USB devices
string errmsg;
if(YAPI::RegisterHub("usb", errmsg) != YAPI_SUCCESS) {
    std::cerr << "RegisterHub error: " << errmsg << std::endl;
    return 1;
}

std::cout << "Device connected: " << std::endl;
YModule *module = YModule::FirstModule();
while (module != NULL) {
    std::cout << module->get_serialNumber() << " ";
    std::cout << module->get_productName()  << std::endl;
    module = module->nextModule();
}
YAPI::FreeAPI();



XCode

Pour XCode il faut créer un projet OSX de type C++ (nous parlerons d'Objective-C dans un autre post) et inclure les fichiers sources de la librairie. Le plus simple est de glisser-déposer tous les fichiers du répertoire Sources de la libraire directement dans Navigateur de projet XCode. Cela va lancer un assistant qui va ajouter les fichiers au projet. N'oubliez pas de sélectionner votre application dans le champ "add to target" de cet assistant, sinon XCode va inclure les fichiers mais ne les compilera pas. Vous n'avez pas besoin de modifier l'include path (XCode s'en charge). Il faut cependant linker le code avec deux frameworks (CoreFundation.framework et IOKit.framework) pour pouvoir exécuter ce programme.

  



Visual Studio C++ 2010

Avec Visual Studio C++ 2010, c'est un peu plus compliqué. Premièrement notre librairie n'est pas prévue pour fonctionner avec les "precompiled headers". Il faut donc créer un projet qui n'utilise pas les "precompiled header". Si vous avez besoin d’intégrer notre librairie avec un projet existant qui utilise les "precompilded headers" il faut désactiver cette fonctionnalité du compilateur manuellement sur les fichiers .cpp et .c de notre librairie.

Pour ajouter les fichiers au projet, la méthode la plus simple est de glisser-déposer les fichiers .h, .cpp et .c directement dans Visual Studio. Attention, si vous ajoutez les fichiers .rc ceux ci seront compilés (contrairement à XCode) et génèreront une erreur de compilation. Visual Studio ne met pas à jour automatiquement l'include path. Il faut donc manuellement ajouter le répertoire où se trouve les sources de la libraire Yoctopuce dans les propriétés du projet.

  



Code::Blocks

Pour Linux nous supportons Code::Blocks depuis la version 10. Avant de créer le projet, il faut s'assurer que la libUSB 1.0 avec ses headers soient aussi installés. Si vous utilisez une distribution qui est basée sur une Debian (Ubuntu, Raspian, etc...) il suffit d'exécuter "sudo apt-get install libusb-1.0-0-dev".

Après avoir créé un projet "command line" avec Code::Block, il faut ajouter les fichiers sources de la librairie Yoctopuce. Pour inclure ces fichiers plus simple est d'utiliser la fonction "add files recursively..." et de ne sélectionner que les extensions nécessaires (.h, .cpp et .c ). Il faut aussi ajouter le répertoire où se trouvent les sources de la libraire Yoctopuce à l'include path du projet. Enfin, il faut informer le linker que nous avons besoin des libraires usb-1.0 et pthread.

  



Visual Studio 2012 C++ for Windows Desktop

Avec Visual Studio C++ 2012 la procédure est identique à celle de Visual Studio C++ 2010.

C++ Builder XE4

La version actuelle de la librairie C++ ne compile pas avec C++ Builder, cependant plusieurs clients nous ont demandé le support pour cet IDE. La prochaine version de la librairie compilera donc avec C++ Builder. Si vous désirez tester cette nouvelle librairie vous pouvez déjà télécharger la version beta. Comme avec Visual Studio, le plus simple est de glisser déposer les fichiers directement dans le projet (là aussi il ne faut pas ajouter les fichiers .rc). Pas besoin de modifier l'include path, C++ Builder s'occupe de tout.
EDIT:La nouvelle version de la librairie C++ (build 12553) supporte officielement C++ builder.


  



Voilà, nous espérons que cela vous permettra d'intégrer plus facilement notre librairie C++ à vos projets. Comme d'habitude vous pouvez contacter le support (support@yoctopuce.com) ou poster un commentaire si vous avez des difficultés à intégrer notre librairie à vos projets.

Commenter aucun commentaire Retour au blog












Yoctopuce, get your stuff connected.