Inclure la librairie C++ dans une solution Visual Studio

Inclure la librairie C++ dans une solution Visual Studio

Récemment, nous avons reçu un message de support pour savoir comment compiler notre librairie C++ et générer un fichier « .lib » qui puisse être utilisé dans Visual Studio. On s’est dit que ça pourrait intéresser d’autres personnes, alors on a ajouté un nouvel exemple dans la bibliothèque, et on vous explique comment ça fonctionne.






La manière recommandée d’intégrer notre librairie C++ dans une application consiste à y inclure directement les fichiers sources de la librairie. C’est la manière d’avoir le code le plus efficace et celle qui évite le plus les problèmes de compilation. Nous avons fait récemment un article qui explique la procédure. Comme tout est compilé en même temps, on est sûr que tout le monde utilise le même compilateur et les mêmes options, mais, évidemment, cela rend la compilation plus longue.

Séparer la compilation des gros projets en plusieurs projets et les regrouper à la fin permet en général de réduire les temps de compilation, mais aussi d’isoler certaines parties du projet et de simplifier les mises à jour des librairies.

L'exemple Prog-Lib

Nous avons ajouté un exemple Prog-Lib qui est une solution Visual Studio qui comprend deux projets. Un projet YoctopuceLib qui compile uniquement la libraire Yoctopuce, et un projet UseYoctopucLib qui utilise notre libraire pour afficher les modules présents sur les ports USB.

Le projet YoctopuceLib inclut uniquement les fichiers de notre librairie C++. Lors de la compilation, il ne génère pas d'exécutable, mais une librairie statique (.lib).

Le projet UseYoctopucLib contient uniquement le code utilisateur qui appelle la libraire Yoctopuce. Ce projet contient une référence au projet YoctopuceLib. Lors de la compilation avec Visual Studio, il inclut le fichier « .lib » de ce dernier et génère un exécutable.

Le code C++ du projet UseYoctopucLib.

#include "yocto_api.h"

using namespace std;

int main()
{
    string      errmsg;

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

    cout << "Device list: " << endl;
    YModule *module = YModule::FirstModule();
    while (module != NULL) {
        cout << module->get_serialNumber() << " ";
        cout << module->get_productName()  << endl;
        module = module->nextModule();
    }
    return 0;
}



L'intérêt de cette structure est de permettre la réutilisation du projet YoctopuceLib dans plusieurs autres projets Visual Studio. Par exemple, nous allons voir comment inclure ce projet dans votre propre application.

Utiliser le projet YoctopuceLib

Il est possible d'inclure le projet YoctopuceLib dans vos solutions Visual Studio et ainsi éviter d'inclure manuellement les fichiers C++ et C dans votre projet.

Commençons par créer une nouvelle application console C++ "ConsoleApplication1". Visual Studio crée une solution "ConsoleApplication1" qui inclut un sous-projet "ConsoleApplication1".

Il faut commencer par ajouter le projet YoctopuceLib à cette solution.

Les étapes sont:

  1. Faire un clic droit sur la solution dans le panneau "Solution Explorer"
  2. Sélectionner Add
  3. Sélectionner Existing projet

Ajouter le projet
Ajouter le projet



Il faut ensuite sélectionner le fichier "YoctopuceLib.vcxproj" qui se trouve dans le sous-répertoire "Examples\Prog-Lib\YoctopuceLib" de notre librairie C++.

Le projet YoctopuceLib.vcxproj à inclure
Le projet YoctopuceLib.vcxproj à inclure



Il faut ensuite modifier l'include path du projet "ConsoleApplication1" et ajouter le sous-répertoire "Source" de notre librairie C++. Notez qu'il n'y a pas besoin d'ajouter tous les sous-répertoires, car l'application ne référence que les objets C++.

Il faut ajouter le répertoire Source à l'include path
Il faut ajouter le répertoire Source à l'include path



Enfin, il faut ajouter une référence au projet YoctopuceLib pour que Visual Studio sache qu'il doit inclure le contenu de ce projet à l'application.

Les étapes sont:

  1. Faire un clic droit sur References dans le panneau "Solution Explorer"
  2. Sélectionner Add Reference

Ajouter une référence...
Ajouter une référence...



Et il faut cocher le projet YoctopuceLib.

... et sélectionner YoctopuceLib
... et sélectionner YoctopuceLib



Et voilà. L'application ConsoleApplication1 peut utiliser toutes les fonctionnalités de notre librairie.

Conclusion

Comme vous pouvez le voir, la procédure n'est pas très compliquée et vous permet d'intégrer facilement notre librairie à vos projets. Le principal avantage de cette solution est que vous n'avez pas besoin de savoir quels fichiers il faut inclure à votre projet.

Si vous utilisez Visual Studio, cela devait vous faciliter un peu la vie, et si vous utilisez d'autres environnements, nous vous recommandons d'inclure directement les fichiers sources à votre projet, comme nous l'avons expliqué dans cet article.

Commenter aucun commentaire Retour au blog












Yoctopuce, get your stuff connected.