web-dev-qa-db-fra.com

Comment installer une bibliothèque c ++ pour pouvoir l'utiliser?

J'ai cette bibliothèque appelée BASSE qui est une bibliothèque audio que je vais utiliser pour enregistrer avec le microphone. J'ai tous les fichiers nécessaires pour l'utiliser, mais je ne sais pas comment installer la bibliothèque. J'ai essayé de prendre les fichiers d'exemple et de les mettre dans le même répertoire que le fichier bass.h. Mais j'ai eu un tas d'erreurs disant qu'il y a des appels de fonction qui n'existent pas.

Ma question est donc: comment l'installer pour pouvoir l'utiliser?

24
rzetterberg

Installer une bibliothèque C++ signifie spécifier aux logiciels intéressés (par exemple un compilateur) l'emplacement de deux types de fichiers: les en-têtes (extensions typiques * .h ou . Hpp) et les objets compilés (. Dll ou *. lib par exemple).

Les en-têtes contiendront les déclarations exposées au développeur par les auteurs de la bibliothèque, et votre programme # les inclura dans son code source, la dll contiendra le code compilé qui sera ou lié ensemble et utilisé par votre programme, et ils seront trouvé par l'éditeur de liens (ou chargé dynamiquement, mais c'est une autre étape).

Vous devez donc

  1. Placez les fichiers d'en-tête dans un emplacement dont votre compilateur a connaissance (généralement IDE permet de définir les répertoires soi-disant d'inclusion, sinon vous spécifiez un indicateur comme "-I" lors de l'appel du compilateur)
  2. Placez les fichiers dll dans un emplacement dont votre éditeur de liens est au courant (votre IDE le permettra sûrement, sinon vous spécifiez un indicateur comme "-L -l").

Enfin et surtout, puisque je vois que la bibliothèque BASS est un produit commercial, ils auront probablement mis à disposition des instructions d'installation?

19
Francesco

Voir le code ci-dessous et n'oubliez pas de mettre bass.dll dans le répertoire de votre fichier exe et incluez le fichier bass.lib avec votre projet et n'oubliez pas d'inclure également le chemin vers bass.h et bass.lib dans le inclure par défaut et chemin d'accès lib de votre projet.

#include <iostream>
#include "bass.h"

using namespace std;

int main(int argc, const char **argv)
{
   if (!BASS_Init(-1, 44100, 0, NULL ,NULL)) 
   {
   cout<<"Can't initialize device";
   return -1;
   }

            int stream = BASS_StreamCreateFile(false, "D:\\mypro\\Trans_Langs\\germ\\quran_amma\\Translations\\Sound_aya\\Sora1\\Hafs\\basfar\\a7.mp3", 0L, 0L, 0);
            if (stream != 0)
            {
                // play the stream channel
                BASS_ChannelPlay(stream, false);
            }
            else
            {
                // error creating the stream
                cout<<"Stream error: {0}", BASS_ErrorGetCode();
            }

   getchar();

            BASS_StreamFree(stream);
            // free BASS
            BASS_Free();

 return 0;
}
4
Nasser

S'il existe des fichiers nommés configure, Makefile ou install, vous pouvez essayer de les exécuter dans cet ordre. Après cela, tout programme qui souhaite se lier à cette bibliothèque doit utiliser une commande comme celle-ci:

c++ <your_program.cpp> -l<library_name> -L<path_where_library_is_installed>

Le chemin de la bibliothèque est généralement le dossier de bibliothèque d'origine lui-même, sauf si vous le modifiez explicitement ou si la bibliothèque elle-même place ses fichiers dans des emplacements globaux comme /usr/local ou quelque chose comme ça.

1
Arjun Singri

Exécutez cette commande dans un terminal ou une console.

cpp -v

Remarquez à la fin de la sortie, vous verrez une ligne comme celle-ci:

#include<...> search starts here:

Il y aura une liste de répertoires sous cette ligne. Déplacez le dossier du package vers l'un de ces répertoires. Essayez ensuite d'importer le module avec <>.

0
Alex Payne