2010-02-01 13 views
5

¿Qué debo hacer para incluir boost :: thread en mi proyecto? He copiado la carpeta hilo entero a mi ruta de trabajo (Me gustaría ser capaz de ejecutar esto en varios ordenadores) y me sale¿Cómo incluir boost :: thread en su proyecto de C++?

error grave C1083: no puede abrir incluir archivo: 'realce/hilo/detalle /platform.hpp ': No se tal archivo o directorio

Desde la línea de #include "thread/thread.hpp"

lo que da?

edición: Incluso si sólo enlace a la carpeta impulso cuando instala el binario precompilado y utilizo #include <boost/thread/thread.hpp> consigo

LNK1104 error grave: no puede abrir archivo 'libboost_thread-vc90-mt- 1_41.lib '

+0

¿Has construido las bibliotecas? Boost.Thread es una de las pocas bibliotecas de Boost que es _no_ encabezado-solamente. –

+0

¿Estás seguro? No tengo ni idea, pero mirando a través de la carpeta de hilos, están todos .hpp .. – Chris

+1

Sí, estoy seguro. Lea la guía "Introducción": http://www.boost.org/doc/libs/1_41_0/more/getting_started/index.html –

Respuesta

11

Desafortunadamente boost :: thread no es una biblioteca "solo encabezado" - por lo tanto, necesita tenerlo compilado. Básicamente hay dos formas de evitarlo.

  1. se descarga un pre-compilados instalar el paquete de boostpro (suponiendo que esté en las ventanas) - https://sourceforge.net/projects/boost/files/boost-binaries/
  2. se puede construir por sí mismo - ver http://www.boost.org/doc/libs/1_35_0/more/getting_started/index.html
+1

He descargado paquete de instalación precompilado, pero me gustaría incluir el material boost :: thread dentro de la compilación de mi proyecto (que estoy seguro hará que sea más grande, pero me gustaría ejecutarlo en muchas computadoras que pueden no tener boost) instalado) – Chris

+1

@Chris, hay distribuciones estáticamente vinculadas de las bibliotecas de boostpro ... esto significa que solo tiene que enlazar a la biblioteca y se incluirá en su compilación. De esta forma, no es necesario que intente construir la biblioteca de impulso usted mismo (por supuesto, suponiendo que esté en Windows). – Polaris878

+0

@Polaris Actualmente estoy en Windows, pero también ejecutaré esta aplicación en algunas máquinas Linux (por lo tanto, la elección de boost :: thread) – Chris

-1

Fatal Error C1083 es ​​un Visual C error ++ . Debe incluir la carpeta de la biblioteca de impulso en su proyecto. "C: \ Archivos de programa \ boost \ boost_1_41 \ lib" si está utilizando boostpro.

También cuando esté descargando la biblioteca de hilos con boostpro, debe verificarla en la lista (también puede elegir el compilador ...).

2

Una vez que haya descargado, descomprimido e instalado las bibliotecas de impulso en su entorno de Visual Studio, y le haya informado al proyecto de Visual Studio donde viven las bibliotecas de Boost, todavía no ha terminado del todo. Existe una serie de bibliotecas en las bibliotecas de Boost que requieren que las construyas tú mismo. Boost threads es una de esas bibliotecas.

  1. Cree el programa bjam.exe si aún no lo ha hecho. Probablemente la forma más sencilla de hacerlo es obtenerlo y ejecutarlo directamente desde BoostPro, indicando a la instalación cuál de las bibliotecas (subprocesos) desea instalar: no tiene que instalarlas todas.

  2. Vaya al directorio C: \ Archivos de programa \ boost_1_46_1 \ tools \ build \ v2 \ engine \ src y ejecute build.bat desde el símbolo del sistema. La ejecución del script build.bat creará bjam.exe dentro de este directorio: C: \ Archivos de programa \ boost_1_46_1 \ herramientas \ build \ v2 \ Engine \ src \ bin.ntx86

  3. Seleccione la bjam.exe en en su Variables de entorno PATH. Incluya el directorio C: \ Program Files \ boost_1_46_1 \ tools \ build \ v2 \ engine \ src \ bin.ntx86 como otra variable de entorno.

  4. En el símbolo del sistema, vaya al directorio C: \ Archivos de programa \ boost_1_46_1, ingrese "bjam", esperando aproximadamente 5-10 minutos mientras se crea el programa.

  5. En su proyecto de Visual Studio, seleccione Propiedades de configuración -> Enlazador -> Entrada -> Dependencias adicionales e ingrese libboost_thread-vc100-mt-gd-1_46_1.lib.

  6. En su proyecto de Visual Studio establezca las propiedades de configuración del proyecto -> Enlazador -> General -> Incluir directorios adicionales, indicando la ubicación de la carpeta stage/lib, por ej. C: \ Program Files \ Boost_1_46_1 \ stage \ lib.

Eso debería ser suficiente para que funcione. Para obtener detalles más completos, consulte este blog posting.

0

Estaba obteniendo error de tiempo de compilación para 'boost :: thread'. Pero se resuelve cuando incluí el siguiente encabezado.

#include <boost\thread.hpp> 
Cuestiones relacionadas