it-swarm.com.de

Wie installiere ich eine C++ - Bibliothek, damit ich sie verwenden kann?

Ich habe diese Bibliothek mit dem Namen BASS , eine Audiobibliothek, die ich zum Aufnehmen mit dem Mikrofon verwenden werde. Ich habe alle erforderlichen Dateien, um es zu verwenden, aber ich weiß nicht, wie ich die Bibliothek installieren soll. Ich habe versucht, die Beispieldateien in dasselbe Verzeichnis wie die Datei bass.h zu kopieren. Aber ich habe eine Reihe von Fehlern erhalten, die besagen, dass es Funktionsaufrufe gibt, die nicht existieren.

Meine Frage ist also, wie installiere ich es, um es verwenden zu können?

17
rzetterberg

Das Installieren einer C++ - Bibliothek bedeutet, der interessierten Software (z. B. einem Compiler) den Speicherort von zwei Arten von Dateien anzugeben: Header (typische Erweiterungen * .h oder .hpp) und kompilierte Objekte (.dll oder * .lib) ).

Die Header enthalten die Deklarationen, die dem Entwickler von den Autoren der Bibliothek zur Verfügung gestellt wurden, und Ihr Programm enthält sie im Quellcode. Die DLL enthält den kompilierten Code, der von Ihrem Programm erstellt oder miteinander verknüpft und verwendet wird vom Linker gefunden (oder dynamisch geladen, aber dies ist ein weiterer Schritt).

Also musst du

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

Zu guter Letzt, da ich sehe, dass die BASS-Bibliothek ein kommerzielles Produkt ist, werden sie wahrscheinlich einige Installationsanweisungen zur Verfügung gestellt haben?

15
Francesco

Sehen Sie sich den folgenden Code an und vergessen Sie nicht, bass.dll in das Verzeichnis Ihrer exe-Datei aufzunehmen und die Datei bass.lib in Ihr Projekt aufzunehmen. Vergessen Sie nicht, auch den Pfad zu bass.h und bass.lib in die Datei aufzunehmen Standard-Include und Lib-Pfad Ihres Projekts.

#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

Wenn es Dateien mit den Namen configure, Makefile oder install gibt, können Sie versuchen, sie in dieser Reihenfolge auszuführen. Danach muss jedes Programm, das eine Verknüpfung mit dieser Bibliothek herstellen möchte, einen Befehl wie diesen verwenden:

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

Der Bibliothekspfad ist normalerweise der ursprüngliche Bibliotheksordner selbst, es sei denn, Sie ändern ihn ausdrücklich oder die Bibliothek selbst legt ihre Dateien an globalen Speicherorten wie /usr/local oder ähnlichem ab.

1
Arjun Singri

Führen Sie diesen Befehl in einem Terminal oder einer Konsole aus.

cpp -v

Beachten Sie, dass am Ende der Ausgabe eine Zeile wie die folgende angezeigt wird:

#include<...> search starts here:

Unterhalb dieser Zeile befindet sich eine Liste von Verzeichnissen. Verschieben Sie den Paketordner in eines dieser Verzeichnisse. Versuchen Sie dann, das Modul mit <> zu importieren.

0
Alex Payne