2009-07-01 14 views
12

Mam tę bibliotekę o nazwie BASS, która jest biblioteką audio, której używam do nagrywania z mikrofonem. Mam wszystkie pliki potrzebne do jego użycia, ale nie wiem, jak zainstalować bibliotekę. Próbowałem pobrać przykładowe pliki i umieścić je w tym samym katalogu, co plik bass.h. Ale mam kilka błędów mówiących, że istnieją funkcje, które nie istnieją.Jak zainstalować bibliotekę C++, aby móc z niej korzystać?

Moje pytanie brzmi: jak go zainstalować, aby móc z niego korzystać?

+0

Jakiego kompilatora/IDE używasz? Czy to jest Visual Studio, DevC++, Code :: Block, cokolwiek innego? – kkaploon

+0

Większość bibliotek zawiera przykładowe projekty. czy podążałeś za instrukcjami, aby zbudować jeden z nich? –

+1

@kkaploon, używam Eclipse CDT z MinGW jako mojego kompilatora. – rzetterberg

Odpowiedz

9

Instalowanie bibliotek C++ środki określające do zainteresowanych oprogramowaniem lokalizację dwóch rodzajów plików (np kompilator.): Nagłówki (typowe rozszerzenia * .h lub .hpp) i zestawionych obiektów ( .dll lub * .lib na przykład).

Nagłówki zawierają deklaracje narażonych na dewelopera przez autorów bibliotecznych, a program będzie #include je w kodzie źródłowym, dll będzie zawierać skompilowany kod, który zostanie lub powiązanych ze sobą i używane przez program, i zostaną znalezione przez linker (lub załadowane dynamicznie, ale jest to kolejny krok).

Więc trzeba

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>" 

Last but not least, ponieważ widzę, że biblioteki BASS jest produktem handlowym, prawdopodobnie będą one udostępniane pewne instrukcje instalacji?

1

Jeśli istnieją pliki o nazwach configure, Makefile lub install, można spróbować uruchomić je w tej kolejności. Po tym, każdy program, który chce się połączyć z tej biblioteki należy użyć polecenia takiego:

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

Ścieżka biblioteki jest zazwyczaj oryginalny sam folder biblioteki, chyba że wyraźnie go zmienić lub bibliotekę sama stawia swoje pliki globalne lokalizacje, takie jak /usr/local lub coś w tym stylu.

+1

Ponieważ on określa Windows MinGW, nie wydaje się to zbyt jasne dla początkującego ... – Francesco

4

Zobacz kod poniżej i pamiętaj, aby umieścić bass.dll w katalogu pliku exe i dołączyć plik bass.lib do projektu i nie zapomnij również o ścieżce do bass.h i basu .lib w domyślnej ścieżce include i lib twojego projektu.

#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

Uruchom to polecenie w terminalu lub konsoli.

cpp -v 

Wskazówki na końcu wyjścia, zobaczysz linię:

#include<...> search starts here: 

nie będzie lista katalogów poniżej tej linii. Przenieś folder pakietu do jednego z tych katalogów. Następnie spróbuj zaimportować moduł za pomocą <>.

Powiązane problemy