Como faço para instalar uma biblioteca c ++ para que eu possa usá-lo?
-
21-08-2019 - |
Pergunta
Eu tenho essa biblioteca chamada BASS que é uma biblioteca de áudio que eu vou usar para gravar com o microfone. Eu tenho todos os arquivos necessários para usá-lo, mas eu não sei como instalar a biblioteca. Tentei tirar os arquivos de exemplo e colocá-los no mesmo diretório que o arquivo bass.h. Mas eu tenho um monte de erros dizendo há chamadas de função que não existe.
Assim, a minha pergunta é: como faço para instalá-lo para ser capaz de usá-lo?
Solução
A instalação de um C ++ meio biblioteca especificando a software interessados ??a localização de dois tipos de arquivos (por exemplo, um compilador.): Cabeçalhos (extensões típicas * .h ou .hpp) e compilados objetos ( .dll ou * .lib por exemplo).
Os cabeçalhos conterá as declarações expostos ao desenvolvedor pelos autores da biblioteca, e seu programa será #include-los em seu código-fonte, o dll irá conter o código compilado que será ou ligados entre si e usado por seu programa, e eles serão encontrados pelo ligante (ou dinamicamente carregadas, mas este é um outro passo).
Então, você precisa
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>"
Por último, mas não menos importante, uma vez que eu vejo que a biblioteca BASS é um produto comercial, provavelmente eles vão ter disponibilizado algumas instruções de instalação?
Outras dicas
Veja o código abaixo o código e Don se esqueça de colocar bass.dll no diretório do seu arquivo exe e incluem a bass.lib arquivo com seu projeto e don não se esqueça também de incluir o caminho para bass.h e baixo. lib no padrão incluem eo caminho lib do seu projeto.
#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;
}
Se houver arquivos chamados configure
, Makefile
ou install
você pode tentar executá-los nessa ordem. Depois disso, qualquer programa que quer vínculo com esta biblioteca deve usar um comando como este:
c++ <your_program.cpp> -l<library_name> -L<path_where_library_is_installed>
O caminho da biblioteca é geralmente a biblioteca original pasta em si, a menos que você alterá-lo ou a biblioteca em si coloca seus arquivos em locais globais como /usr/local
ou algo parecido explicitamente.
Executar este comando em um console do terminal ou.
cpp -v
Observe no final da saída, você verá uma linha como esta:
#include<...> search starts here:
Haverá uma lista de diretórios abaixo dessa linha. Mova a pasta pacote para um desses diretórios. Em seguida, tente importar o módulo com <>.