2009-07-01 8 views
12

Ho questa libreria chiamata BASS che è una libreria audio che userò per registrare con il microfono. Ho tutti i file necessari per usarlo, ma non so come installare la libreria. Ho provato a prendere i file di esempio e metterli nella stessa directory del file bass.h. Ma ho un sacco di errori nel dire che ci sono chiamate di funzione che non esistono.Come installo una libreria C++ in modo che possa usarla?

Quindi la mia domanda è, come posso installarlo per poterlo utilizzare?

+0

Quale compilatore/IDE usi? Visual Studio, DevC++, Code :: Block, altro? – kkaploon

+0

La maggior parte delle librerie include progetti di esempio. hai seguito le istruzioni per costruire uno di questi? –

+1

@kkaploon, utilizzo eclissi CDT con MinGW come mio compilatore. – rzetterberg

risposta

9

Installazione di un C++ mezzi a libreria specificando al software interessato la posizione dei due tipi di file (ad esempio, un compilatore.): Headers (estensioni tipiche * .h o .hpp) e oggetti compilati ( dll o * .lib per esempio).

Le intestazioni conterranno le dichiarazioni esposte allo sviluppatore dagli autori della libreria e il programma includerà #include nel codice sorgente, la dll conterrà il codice compilato che sarà o collegato e utilizzato dal programma, e saranno trovati dal linker (o caricati dinamicamente, ma questo è un altro passo).

quindi è necessario

1) put the header files in a location which your compiler is aware of (typically IDE allows to set so-called include directories, otherwise you specify a flag like "-I<path-to-headers>" when invoking the compiler) 
2) put the dll files in a location which your linker is aware of (surely your IDE will allow that, otherwise you speficy a flag like "-L<path-to-libraries> -l<name-of-libraries>" 

Ultimo ma non meno importante, in quanto vedo che libreria BASS è un prodotto commerciale, probabilmente avranno messo a disposizione alcune istruzioni per l'installazione?

1

Se sono presenti file denominati configure, Makefile o install, è possibile provare a eseguirli nell'ordine indicato. Dopo di che, qualsiasi programma che vuole collegare con questa libreria deve utilizzare un comando come questo:

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

Il percorso della libreria è in genere la cartella libreria originale in sé, a meno che non si modifica in modo esplicito o la libreria stessa mette i suoi file in località globali come /usr/local o qualcosa del genere.

+1

Poiché specifica MinGW di Windows, questo non sembra troppo chiaro per un principiante ... – Francesco

4

Vedere il codice sotto codice e non dimenticare di mettere bass.dll nella directory del tuo file exe e includere il file bass.lib con il tuo progetto e non dimenticare di includere anche il percorso di bass.h e basso .lib nel percorso di inclusione e lib predefinito del progetto.

#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; 
} 
0

Eseguire questo comando in un terminale o console.

cpp -v 

Avviso alla fine dell'uscita, vedrete una linea come questa:

#include<...> search starts here: 

Ci sarà una lista di directory di sotto di tale linea. Spostare la cartella del pacchetto in una di quelle directory. Quindi prova a importare il modulo con <>.