|
O processo de compilação da biblioteca mudou, para versões mais novas, utilize o artigo: Compilando a Boost com Visual C++ – Versão 2010
Este tutorial visa ser um guia para aqueles que pretendem utilizar a Boost junto com o Visual Studio C++, mostrando passo a passo como instalar e usar esta excelente biblioteca.
Baixando a Boost
Esta é a etapa mais simples de todas, basta acessar o site oficial, e clicar no link “Download” do lado direito da tela. A versão 1.39.0 (a ultima lançada até o dia que esse artigo foi publicado) pode ser baixada clicando aqui.
No meu caso utilizo a versão zip do pacote, mas todos os outros pacotes acredito que possuam o mesmo conteúdo.
Após o download extraia o conteúdo dos arquivos para o diretório de bibliotecas que você costuma utilizar, no meu caso c:\develop\libs.
Depois de extrair os arquivos é necessário baixar o bjam, que é a ferramenta de compilação da Boost, a ultima versão pode ser encontrada clicando aqui.
Após concluído o download do bjam extraia o arquivo exe para o mesmo diretório em que a Boost foi colocada (no meu caso C:\develop\libs\boost_1_39_0).
Compilando
Agora com as ferramentas prontas é necessário rodar o bjam, para tal acesse o console do Visual Studio (não o console padrão do Windows) clicando em “Iniciar” –> Todos os programas –> Microsoft Visual Studio –> Visual Studio Tools –> Visual Studio 2008 Command Prompt.
Com o console aberto abra o diretório da Boost (no meu caso digito: cd \develop\libs\boost_1_39_0). Dentro do diretório da boost digite “bjam” e ENTER.
Agora como já diz o programa, paciência…
Se tudo correu bem, muitos minutos depois a compilação deve estar completa, as vezes aparecem alguns warnings, que eu simplesmente ignoro.
Configurando o Visual
O jeito mais pratico de configurar o visual na minha opinião é criando uma variável de ambiente que contenha o diretório da Boost, fica mais pratico na hora de atualizar as versões (se não quiser criar a variável, basta ir para o próximo paragrafo), então primeiramente clique em “Iniciar” –> Botão direito em “Meu Computador” –> Propriedades. Na janela que se abrir, clique em “Avançado”, depois no botão “Variáveis de Ambiente”. Na caixa “Variáveis do Sistema”, clique em “Novo”. Agora entre com o nome (ex: BOOST_HOME), e o valor, que é o diretório onde a boost foi instalada (c:\develop\libs\boost_1_39_0 no meu caso), agora é ir clicando em Ok até fechar tudo.
O próximo passo é abrir o visual (se o seu visual já estava aberto e você criou a variável, feche ele e abra novamente). Dentro do visual acesse “Tools” –> “Options”, expanda a linha “Projects and Solutions” –> “VC++ Directories”.
Com a janela de configuração de diretórios podemos configurar os diretórios utilizados pelo visual durante builds, o primeiro a ser configurado é o de include (a ordem não importa aqui), então do lado direito, na caixa de seleção “Show directories for”, selecione “Include Files”. Basta clicar na primeira linha vazia após o ultimo item e entrar com o diretório, que no meu caso foi: $(BOOST_HOME). Caso eu não tivesse criado a variável, o valor teria sido: c:\develop\libs\boost_1_39_0.
Por fim é necessário configurar o diretório de bibliotecas selecionando “Libraries Files” na caixa “Show Directories for” e entrando com o diretório das libs, que no meu caso foi: $(BOOST_HOME)\stage\lib, se não estiver usando a variável, basta então: c:\develop\libs\boost_1_39_0\stage\lib, note que o diretório varia de acordo com o diretório que foi usado na instalação, mas o principal é o sub-diretório “stage\lib”.
Tendo inserido os diretórios, clique em Ok para salvar.
Testando a Instalação
Para testar a instalação crie um novo projeto no Visual (se não sabe como fazer, clique aqui) e use um código exemplo da Boost, eu utilizei o código abaixo:
#include <boost/filesystem/operations.hpp>
#include <iostream>
namespace bf = boost::filesystem;
int main(int, char **)
{
bf::path p("first.cpp");
if(bf::exists(p))
std::cout<< p.leaf() << "EXISTS.\N";
else
std::cout<< p.leaf() << "does not exist.\n";
return 0;
}
O código compilou sem problemas aqui e executou perfeitamente, sendo assim, instalação concluída.
Note que a Boost automaticamente já linka o código com as bibliotecas necessárias, com algumas bibliotecas é necessário configurar o arquivo lib a ser usado, mas isso fica para outro post.
-
06/02/2010 13:31:19 | Bruno Crivelari Sanches

Estranho, acabei de entrar no link e tem o arquivo: boost-jam-3.1.17-1-ntx86.zip
Este arquivo vem apenas com o exe e um readme.txt.
-
07/02/2010 21:05:29 | Bruno Crivelari Sanches

Não precisa se desculpar, lá tem toneladas de arquivo e é fácil se confundir.
-
09/10/2010 02:01:43 |189.18.228.xxx| Mateus

Bruno, compilei e configurei o VS2010 conforme o tutorial, porém na hora de compilar o programa de teste aparece o seguinte erro:
cannot open file 'libboost_filesystem-vc100-mt-gd-1_39.lib'
-
09/10/2010 13:36:14 | Bruno Crivelari Sanches

Verfique primeiro se o arquivo libboost_filesystem-vc100-mt-gd-1_39.lib existe.
Se sim, acho que faltou configurar os diretórios de biblioteca, que é aquele do segundo passo do item "Configurando o Visual".
Detalhe que o Visual 2010 é um pouco diferente essa configuração, a opção é meio escondida, mas o conceito é o mesmo.
-
09/10/2010 13:36:16 | Bruno Crivelari Sanches

Verfique primeiro se o arquivo libboost_filesystem-vc100-mt-gd-1_39.lib existe.
Se sim, acho que faltou configurar os diretórios de biblioteca, que é aquele do segundo passo do item "Configurando o Visual".
Detalhe que o Visual 2010 é um pouco diferente essa configuração, a opção é meio escondida, mas o conceito é o mesmo.
-
13/10/2010 09:27:12 |187.101.39.xxx| Mateus

Eu achei a libboost_filesystem-vc-mt-gd-1_39.lib e as configurações do VS2010 estão corretas, já verifiquei.
Porém continua a dar o erro pois ele precisa do libboost_filesystem-vc100-mt-gd-1_39.lib
-
13/10/2010 09:36:36 |189.111.78.xxx| Mateus

Descobri o erro:
Hi !
On Sunday 24 May 2009, Mantas Matelis wrote:
> Hi, is
> vc10 support implemented?No, it was just implemented in trunk...
> And if so, is this the right way to build
> for vc10:bjam.exe
> --build-dir="c:\development\boost" --prefix="c:\development\boost"
> --build-type=complete toolset=msvc-100 stage >
> C:\development\boost\build-output-vc10.txttoolset=msvc-10.0 would be better.
You can find the patch at
http://svn.boost.org/trac/boost/changeset/53206
> When running this, everything builds, but the files have improper
> names. Visual studio expects libboost_filesystem-vc100-mt-gd-1_39.lib
> but in the stage directory there are no files with vc100, just vc.Please try to patch 1.39 with the patch above. Or check out trunk for
experiments (might be a better idea...)
Yours,
JürgenEle não reconhece o VS2010 por isso não compila a boost para uso do VS2010 corretamente, quem usa o VS2010 deve baixar o patch http://svn.boost.org/trac/boost/changeset/53206 e alterar pelo arquivo.
[]'s
-
13/10/2010 10:04:26 | Bruno Crivelari Sanches

Experimenta usar a versão recente da boost, a 1.44, já deve ter isso corrigido.
T+
-
02/03/2011 00:09:14 |187.56.146.xxx| Rodrigo - Erro BOOSTC++ ao compilar código

Compilei a lib, mas sempre que eu adiciono algum header no meu projeto, dá erro no arquivo ctime
eu não consigo encontrar , você pode me ajudar?
Error 23 error C2873: 'time' : symbol cannot be used in a using-declaration c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\ctime 23 1











Quando eu baixei o boost jam, não existe nenhuma arquivo executavel no pacote, o que é preciso fazer é descompactar todo o conteúdo da biblioteca e executar dentro da linha de comando do VS o build.bat, este sim era gerar o bjam.exe em uma pasta chamada bin.ntx86.
Isso pelo menos na versão o bjam que eu baixei que é a versão 3.1.17