2011-07-31 4 views
8

Donc, je suis à la fin de ma ligne ici; Je cherchais à enregistrer des fichiers et la sérialisation, seulement pour apprendre que C++ n'a pas le genre de capacité de sérialisation native que Python a avec son merveilleux pickle. Mais heureusement, il a Boost - donc commencé ma quête pour installer Boost 1.47 sur mon système, afin de pouvoir sérialiser mes objets.Comment installer les bibliothèques Boost avec CodeBlocks?

Jusqu'à présent, cependant, aucun succès. J'ai d'abord pensé pouvoir utiliser ceci: http://wiki.codeblocks.org/index.php?title=BoostWindowsQuickRef, mais j'ai toujours des erreurs de version incompatibles, et après avoir essayé plusieurs fois de localiser un Boost Jam compatible avec 1.47 (je n'ai trouvé que 1.3.19, ce qui semble être construit pour 1.46), j'ai vu la page était plus d'un an et demi de date. Ensuite, après beaucoup de recherches, j'ai été pointé ici: http://www.boost.org/doc/libs/1_47_0/doc/html/bbv2/installation.html. Mais cela ne fonctionne pas non plus. Lors de l'exécution \ bootstrap.bat, je reçois l'erreur suivante:

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

Huh - bien, nulle part est-il un fichier .log de toute sorte, mais il y a un fichier texte appelé bootstrap, qui contient les éléments suivants:

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... 

Maintenant, je suis vraiment confus. Je suis bien au-dessus de ma tête avec tout ça - je suis toujours en train de programmer des side-scrollers et je suis seulement capable de faire du C++ depuis quelques mois maintenant. Je n'ai pas la moindre idée de ce que je fais de mal. Quelqu'un peut-il me diriger vers un guide étape par étape clair et complet ou quelque chose? Je veux seulement obtenir Boost sur mon système!

+0

Quel jeu d'outils (compilateur) utilisez-vous? –

+0

Désolé pour ça! Si je ne me trompe pas, j'utilise MinGW, mais honnêtement, je n'ai pas encore beaucoup appris sur le côté plus technique de la programmation, donc je peux me méprendre. – GarrickW

Répondre

3

Depuis le message d'erreur que vous avez posté, je suppose que vous utilisez une version de Visual Studio. Pour utiliser son compilateur à partir de la ligne de commande, vous devez définir quelques variables d'environnement. Ceci est fait automatiquement pour vous si vous utilisez l'invite de commande Visual Studio. Mieux encore, vous pouvez essayer de suivre this tutorial.

0

J'ai essayé suivant de http://forums.codeblocks.org/index.php?topic=15164.0 & cela a fonctionné merveilleusement.

INSTALLATION BOOST:

Télécharger soit le zip ou le package 7zip de boost. Extrayez le contenu dans extract_dir.

Ouvrez l'invite de commande (cmd.exe) et accédez à extract_dir. cd extract_dir

Si le dossier minGW \ bin (se trouve dans le dossier installatoin de CodeBlocks) ne se trouve pas dans la variable path, ajoutez-le.

chemin minGW_dir \ bin;% PATH%

Construire le système de construction de boost en entrant

bootstrap.exe MinGW

Ouvrez le fichier extract_dir \ projet config.jam dans le Bloc-notes et changer la mot msvc à gcc.

Retour dans la fenêtre d'invite de commandes, exécutez

b2.exe

CONFIGURATION AVEC BOOST codeblocks

Créer l'impulsion variable globale avec extract_dir comme base. (Ceci est C: \ Libraries \ boost_1_47_0 sur mon ordinateur.Les autres champs n'ont besoin de rien (sauf éventuellement lib, si vous avez utilisé un répertoire personnalisé lors de la construction du boost, placez le chemin ici). Ensuite (en supposant que vous démarriez un projet, pas en ajoutant un projet existant), créez un nouveau projet (une application de console devrait convenir) Dans ce projet, ouvrez Project-> Build options ... et assurez-vous que le nom global du projet est sélectionné dans la colonne de gauche (par exemple, boost_test). Passez à l'onglet Répertoires de recherche et cliquez sur Ajouter (pour l'onglet Compilateur). Dans la zone, tapez $ (# boost) et cliquez sur OK.

0

Voici un blog qui traite de la configuration Code :: Blocks pour utiliser les bibliothèques Boost (en-tête uniquement et compilé) dans les environnements Windows:

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

Ne pas oublier, pour le Boost bibliothèques ont besoin de compilation supplémentaire, vous devez exécuter les commandes boostrap.bat et b2.exe via le répertoire racine de Boost:

bootstrap.bat mingw b2.exe

Ce sera par défaut de mettre les bibliothèques dans le stade \ lib. Une fois toutes vos bibliothèques de type mingw générées, allez dans Project> Build Options et définissez les inclusions supplémentaires via Search Directories, sélectionnez l'onglet Linker et définissez l'emplacement des fichiers de bibliothèque et dans l'onglet Linker Settings, ajoutez le nom de bibliothèque nécessaire.) (par exemple boost_filesystem-mgw48-mt-d-1_56), et ça devrait être ça.

Questions connexes