2012-09-25 43 views
313

Estoy en Ubuntu y quiero instalar Boost. Intenté conCómo instalar boost en Ubuntu?

sudo apt-get install boost 

Pero no había tal paquete. ¿Cuál es la mejor forma de instalar boost en Ubuntu?

Respuesta

547

Puede utilizar apt-get del sistema (requiere sudo)

sudo apt-get install libboost-all-dev 

o puede llamar

aptitude search boost 

paquetes encuentra que necesita e instalarlas con el comando apt-get.

+1

¿tienes alguna experiencia pasada con impulso? – k53sc

+0

Tenía experiencia en programación con impulso, pero no experiencia de instalación. Nunca lo he probado, así que no puedo decir si es fácil de usar (pero me parece que el administrador de paquetes es la manera más fácil). Debería haber publicado esta sugerencia como un comentario, pero no puedo comentar preguntas. –

+0

está bien hombre ..... estoy intentando lo que sugirió ... proporcionar cualquier enlace que pueda ser útil. – k53sc

53

Instalación de Boost en Ubuntu con un ejemplo del uso conjunto impulso:

Instalar libboost-all-dev y aptitud

sudo apt-get install libboost-all-dev 

sudo apt-get install aptitude 

aptitude search boost 

A continuación, pega esto en un archivo llamado C++ main.cpp:

#include <iostream> 
#include <boost/array.hpp> 

using namespace std; 
int main(){ 
    boost::array<int, 4> arr = {{1,2,3,4}}; 
    cout << "hi" << arr[0]; 
    return 0; 
} 

Compilar como esto:

g++ -o s main.cpp 

Run así:

./s 

programa imprime:

hi1 
+3

Hay un error en la línea "boost :: array arr = {{1,2,3,4}};", debería ser "boost :: array arr = {1,2,3,4} ; " – szulak

+5

¿Por qué quiero ejecutar 'aptitude search boost'? – user8385554

112

obtener la versión del impulso que necesita. Esto es para 1.55, pero no dude en cambiar o manualmente descarga a sí mismo:

wget -O boost_1_55_0.tar.gz https://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.gz/download 
tar xzvf boost_1_55_0.tar.gz 
cd boost_1_55_0/ 

Obtener las bibliotecas necesarias, las principales son icu para boost::regex apoyo:

sudo apt-get update 
sudo apt-get install build-essential g++ python-dev autotools-dev libicu-dev build-essential libbz2-dev libboost-all-dev 

configuración de arranque de Boost:

./bootstrap.sh --prefix=/usr/ 

Compártelo con:

./b2 

y finalmente instalarlo:

sudo ./b2 install 
+1

¿Cuál será la diferencia si usamos ./bootstrap.sh --prefix =/usr/include? Tengo la biblioteca de impulso en/usr/include.Me preguntaba que al hacer esto, ¿puedo reemplazar mi instalación anterior? – Sai

+26

¿Qué es libboost-all-dev? ¿Por qué debería instalar boost antes de instalar boost? – javapowered

+20

también './b2 install' debe ejecutarse como el paso final – javapowered

-1

En realidad, usted don `t necesidad de "instalar" o "compilar" nada antes de usar impulso en su proyecto. Puede descargar y extraer la biblioteca de impulso en cualquier ubicación de su máquina, que suele ser/usr/local /.

Cuando compila su código, puede simplemente indicar el compilador dónde encontrar las bibliotecas por -I. Por ejemplo, g ++ -I/usr/local/boost_1_59_0 xxx.hpp

Espero que esto ayude.

+4

Esto solo funcionaría para bibliotecas de encabezados de boost. El resto de ellos necesitaría ser construido o instalado usando un administrador de paquetes como se describe en las respuestas anteriores. Las bibliotecas de impulso que requieren una construcción e instalación separadas son las siguientes: atómico, cronógrafo, contenedor, contexto, coroutine, coroutine2, date_time, excepción, sistema de archivos, gráfico, graph_parallel, iostreams, locale, log, math, mpi, program_options, python , aleatorio, regex, serialización, señales, sistema, prueba, hilo, temporizador, type_erasure, wave. –

6

Obtenga la versión de Boost que necesite. Esto es por 1.55 pero no dude en cambiar o manualmente descarga a sí mismo:

wget -O boost_1_55_0.tar.gz http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.gz/download 
tar xzvf boost_1_55_0.tar.gz 
cd boost_1_55_0/

Recibe las bibliotecas necesarias, las principales son la UCI de impulso :: soporte de expresiones regulares: la configuración de arranque

sudo apt-get update 
sudo apt-get install build-essential g++ python-dev autotools-dev libicu-dev build-essential libbz2-dev

de Boost:

./bootstrap.sh --prefix=/usr/local

Si queremos MPI, entonces tenemos que establecer el indicador en el archivo user-config.jam:

Encuentra el número máximo de núcleos físicos:

n=`cat /proc/cpuinfo | grep "cpu cores" | uniq | awk '{print $NF}'`

Instalar impulso en paralelo:

sudo ./b2 --with=all -j $n install

supone que tiene /usr/local/lib configuración ya. si no, puede añadirlo a su LD vía de la biblioteca:

sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/local.conf'

Restablecer el ldconfig:

sudo ldconfig
+0

Algunas cosas como PO Edit 2.0 requieren boost 1.6, que no está disponible en este momento a través de apt-get , puede obtenerlo desde http://www.boost.org/users/history/version_1_60_0.html y luego expandirlo . Siga las excelentes instrucciones anteriores, recordando que LD Library Path no es lo mismo que $ PATH –

+0

Cambie el enlace a HTTPS; HTTP no es seguro para descargas binarias :) –

-1

Para Windows 10 aplicación de Ubuntu:

 
sudo apt-get install libboost-all-dev