2011-07-31 25 views
8

Así que estoy aquí al final de mi línea; Estaba buscando guardar los archivos y la serialización, solo para descubrir que C++ no tiene el tipo de capacidad de serialización nativa que tiene Python con su maravilloso pickle. Pero afortunadamente, tiene Boost, así que comencé mi búsqueda para instalar Boost 1.47 en mi sistema, con el fin de poder serializar mis objetos.¿Cómo instalar las bibliotecas de Boost con CodeBlocks?

Hasta ahora, sin embargo, ningún éxito. Primero pensé que podría usar esto: http://wiki.codeblocks.org/index.php?title=BoostWindowsQuickRef, pero continuamente obtuve errores de versión no coincidentes, y después de intentar varias veces localizar un Boost Jam compatible con 1.47 (solo encontré 1.3.19, que parece estar construido para 1.46), vi la página tenía más de un año y medio fuera de fecha.

Luego, después de mucha búsqueda, me señalaron aquí: http://www.boost.org/doc/libs/1_47_0/doc/html/bbv2/installation.html. Pero esto tampoco funciona. Cuando se ejecuta \ bootstrap.bat, me sale el siguiente error:

Failed to build Boost.Build engine. Please consult bootstrap.log for further diagnostics.

Huh - así, en ninguna parte hay un archivo .log de cualquier tipo, pero hay un archivo de texto llamado de arranque, que contiene lo siguiente:

Setting environment for using Microsoft Visual Studio 2010 x86 tools. 
### 
### Using 'vc10' toolset. 
### 

c:\Program Files (x86)\CodeBlocks\MinGW\downloaded\boost_1_47_0\tools\build\v2\engine>if exist bootstrap rd /S /Q bootstrap 

c:\Program Files (x86)\CodeBlocks\MinGW\downloaded\boost_1_47_0\tools\build\v2\engine>md bootstrap 

c:\Program Files (x86)\CodeBlocks\MinGW\downloaded\boost_1_47_0\tools\build\v2\engine>cl /nologo /RTC1 /Zi /MTd /Fobootstrap/ /Fdbootstrap/ -DNT -DYYDEBUG -wd4996 kernel32.lib advapi32.lib user32.lib /Febootstrap\jam0 command.c compile.c debug.c execnt.c expand.c filent.c glob.c hash.c hdrmacro.c headers.c jam.c jambase.c jamgram.c lists.c make.c make1.c newstr.c option.c output.c parse.c pathunix.c regexp.c rules.c scan.c search.c subst.c timestamp.c variable.c modules.c strings.c filesys.c builtins.c md5.c pwd.c class.c w32_getreg.c native.c modules/set.c modules/path.c modules/regex.c modules/property-set.c modules/sequence.c modules/order.c 
command.c 
compile.c 
debug.c 
execnt.c 
execnt.c(29) : fatal error C1083: Cannot open include file: 'windows.h': No such file or directory 
expand.c 
filent.c 
glob.c 
hash.c 
hdrmacro.c 
headers.c 
jam.c 
jam.c(581) : fatal error C1083: Cannot open include file: 'windows.h': No such file or directory 
jambase.c 
jamgram.c 
lists.c 
make.c 
make1.c 
newstr.c 
option.c 
output.c 
parse.c 
Generating Code... 
Compiling... 
pathunix.c 
pathunix.c(275) : fatal error C1083: Cannot open include file: 'windows.h': No such file or directory 
regexp.c 
rules.c 
scan.c 
search.c 
subst.c 
timestamp.c 
variable.c 
modules.c 
strings.c 
filesys.c 
builtins.c 
md5.c 
pwd.c 
class.c 
w32_getreg.c 
w32_getreg.c(18) : fatal error C1083: Cannot open include file: 'windows.h': No such file or directory 
native.c 
set.c 
path.c 
regex.c 
Generating Code... 
Compiling... 
property-set.c 
sequence.c 
order.c 
Generating Code... 

Ahora, estoy realmente confundido. Estoy en mi cabeza con todo esto: sigo programando los desplazamientos laterales y solo he sido capaz de C++ durante unos meses. No tengo ni idea de lo que estoy haciendo mal. ¿Puede alguien indicarme una guía clara, completa paso a paso o algo así? ¡Solo quiero obtener Boost en mi sistema!

+0

¿Qué conjunto de herramientas (compilador) está utilizando? –

+0

¡Lo siento! Si no me equivoco, estoy usando MinGW, pero sinceramente, todavía tengo que aprender mucho sobre el aspecto más técnico de la programación, por lo que podría estar malinterpretando esto. – GarrickW

Respuesta

3

Desde el mensaje de error que ha publicado Supongo que está utilizando alguna versión de Visual Studio. Para usar su compilador desde la línea de comando, necesita definir algunas variables de entorno. Esto se hace automáticamente si usa el símbolo del sistema de Visual Studio. Mejor aún, es posible que desee probar y seguir this tutorial.

0

Intenté seguir desde http://forums.codeblocks.org/index.php?topic=15164.0 & funcionó maravillosamente.

BOOST INSTALACIÓN:

descargar cualquiera de la cremallera o el paquete de impulso 7zip. Extraiga el contenido para extraer_dir.

Abra el símbolo del sistema (cmd.exe) y navegue hasta extraer_dir. cd extract_dir

Si la carpeta minGW \ bin (se puede encontrar en la carpeta de instalación de CodeBlocks) no está en la variable de ruta, agréguela.

ruta minGW_dir \ bin;% ruta%

construir el sistema de impulso de construcción mediante la introducción de

bootstrap.exe MinGW

Abrir el archivo extract_dir \ proyecto config.jam en el Bloc de notas y cambiar el palabra msvc a gcc.

vuelta en la ventana de símbolo del sistema, ejecute

b2.exe

CONFIGURACIÓN impulso con bloques de código

Crear el impulso variable global con extract_dir como la base. (Esto es C: \ Libraries \ boost_1_47_0 en mi computadora.) Los otros campos no necesitan nada (excepto posiblemente lib; si usó un directorio personalizado mientras aumenta el impulso, ponga la ruta aquí). Siguiente (suponiendo que está comenzando un proyecto, sin agregar uno existente), cree un nuevo proyecto (una aplicación de consola debería estar bien) En este proyecto, abra Proyecto-> Opciones de compilación ... y asegúrese de que el nombre general del proyecto se selecciona en la columna de la izquierda (por ejemplo, boost_test). Cambie a la pestaña Buscar directorios y haga clic en Agregar (para la pestaña Compilador). En el cuadro, escriba $ (# boost) y haga clic en Aceptar.

0

Aquí es un blog que se ocupa de la configuración de Code :: Blocks utilizar las bibliotecas Boost (sólo de encabezado y compilado) en entornos Windows:

http://www.technical-recipes.com/2014/configuring-codeblocks-to-use-the-boost-libraries/

No se olvide, para el Impulso bibliotecas necesitan compilación adicional, lo que necesita para ejecutar el boostrap.bat y comandos b2.exe a través del directorio raíz Boost:

bootstrap.bat mingw b2.exe

Esto será por defecto poniendo las bibliotecas en la etapa \ lib. Una vez generadas todas las bibliotecas de tipo mingw, vaya al Proyecto> Opciones de compilación y configure las inclusiones adicionales a través de Directorios de búsqueda, seleccione la pestaña Vinculador y establezca la ubicación de los archivos de la biblioteca y en la pestaña Configuración del enlace añada el nombre de biblioteca necesario (s).) (por ejemplo, boost_filesystem-mgw48-mt-d-1_56), y eso debería ser.

Cuestiones relacionadas