Ich versuche, Boost 1.55 mit Visual Studio 2013 zu bauen.
1) Ich habe versucht, Boost-Binaries zu verwenden ( Boost-Binaries ), aber Visual Studio schrieb über den Fehler, als ich versuchte zu kompilieren:
Fehler LNK1104: Datei kann nicht geöffnet werden 'libboost_serialization-vc120-mt-gd-1_55.lib'. ich benutzte boost_1_55_0-msvc-12.0-32.exe oder 1.55.0-build2 (Boost-Binärdateien).
Ich habe diese .lib-Datei im Verzeichnis boost_1_55_0 \ lib32-msvc-12.0 nicht gefunden.
2) Ich habe auch versucht, dieses Programm BlueGo 0.1.7 ( BlueGo ) zu verwenden. Es funktioniert sehr reibungslos und erstellt alle Bibliotheken, die ich brauche.
Das Problem, dass es .lib-Dateien wie folgt erstellt:
libboost_serialization-vc110-mt-gd-1_55.lib
Aber ich benutze Visual Studio 2013 und es ist erforderlich, vc120 Version des Compilers statt vc110 zu verwenden, übermäßig wird es einen Fehler geworfen.
3) Am Ende habe ich beschlossen, dll / lib-Dateien selbst zu erstellen.
Ich habe folgende Anleitung in der Boost-Site verwendet: Vereinfachte Erstellung aus Quelle .
>%Vor%Wenn Sie aus einer Quelle mit Visual C ++ erstellen möchten, können Sie ein einfaches verwenden Build-Prozedur in diesem Abschnitt beschrieben. Öffnen Sie die Eingabeaufforderung und Ändern Sie Ihr aktuelles Verzeichnis in das Boost-Stammverzeichnis. Geben Sie dann ein die folgenden Befehle:
Oben habe ich geschrieben, was ich tun musste.
Ich habe die Eingabeaufforderung "VS2012 x86 Native Tools" gestartet, das Verzeichnis in das Boost-Root-Verzeichnis geändert und den folgenden Befehl eingegeben:
%Vor%Sofort habe ich den Fehler:
%Vor%In der Protokolldatei habe ich folgenden Fehler festgestellt:
execnt.c (56): Schwerwiegender Fehler C1083: Include-Datei kann nicht geöffnet werden: 'tlhelp32.h': Keine solche Datei oder Verzeichnis
Die Datei bootstrap.log:
%Vor%Ich habe versucht, diese Datei zu überprüfen oder nicht ('tlhelp32.h'). Ich habe ein Projekt erstellt und die Datei ('tlhelp32.h') eingefügt. Es wird ohne Fehler kompiliert.
4) Ich habe auch versucht,
umzubenennenlibboost_serialization-vc110-mt-gd-1_55.lib
bis
libboost_serialization-vc120-mt-gd-1_55.lib
Aber Visual Studio hat den Fehler erneut ausgelöst.
%Vor%Können Sie mir sagen, was das Problem ist und wie man Boost 1.55 mit Visual Studio 2013 baut?
Vielen Dank im Voraus!
Die für die Include-Variable eingerichteten Pfade verweisen auf Windows 8.0 statt auf Windows 8.1.
Die Datei, die Sie mit Visual Studio 2013 und Windows 8.1 erwähnen, sollte im folgenden Pfad gefunden werden:
%Vor%Ich habe die INCLUDE-Variable geändert von:
%Vor%zu:
%Vor%Gehen wir Schritt für Schritt und bauen zuerst das Boost-Build-System.
"Ich schließe die Datei ('tlhelp32.h') an. Sie wird ohne Fehler kompiliert."
Diese Datei ist also auf der Festplatte vorhanden. Umgebungsvariablen werden für cl.exe, die von bootstrap.bat ausgeführt wird, unterschiedlich festgelegt. Include-Dateien werden von cl.exe in der INCLUDE env -Variable gesucht. Suchen Sie auf der Festplatte nach tlhelp32.h, und fügen Sie in der Visual Studio-Eingabeaufforderung diesen Pfad zum INCLUDE hinzu:
%Vor%Wenn einige .lib nicht gefunden werden, sehen Sie sich LIBPATH env-Variable an.
Ich nehme an VS2013 vcvars * .bat Dateien haben die Umgebung nicht richtig eingestellt.
Building Boost-Bibliothek ist wirklich Kopfschmerzen. Also das ist, was ich gefunden habe und reite davon dieses Problem;
Ich hatte den gleichen Fehler und folgte der SourceForge . Der Link führt Sie zu einem Ordner mit gezippten lib- und dll-Dateien für die Boost-Version. Sie können die zugehörige Bibliothek herunterladen und entpacken, und wenn sie an den entsprechenden Speicherort kopiert wurde, ist alles in Ordnung;)
Die Verwendung der 2010 oder 2012 -Konfiguration in Ihrer Projektdatei ist besser. Wie ich weiß, ist 2013 für 1,55 noch nicht bequem.
Es scheint, dass Visual Studio 2013 (in meinem Fall war es Visual Studio 2013 Express mit Update 4) tlhelp32.h nicht enthält. Ich habe gerade einen Fehlerbericht zu diesem Problem eingereicht. Um dieses Problem zu beheben, installierte ich das Windows SDK zusätzlich zu Visual Studio (in meinem Fall war es Windows 8.1 SDK).
Wenn Sie Windows 8.1 verwenden, öffnen Sie die Eingabeaufforderung vs2012 x86 Tool und geben Sie
ein %Vor%wenn Sie das unten sehen
%Vor%Das bedeutet, dass vcvars32.bat die falsche INCLUDE-Variable für Sie festgelegt hat, die als Fehler in ms Website Also ist die Lösung:
Bearbeiten Sie vcvars32.bat, ersetzen Sie
%Vor%bis
%Vor%andere Lösungen ändern Sie die Eingabeaufforderung VS2012 x86 Native Tools Command.link, kopieren und fügen Sie die Eingabeaufforderung vs2012 x86 Native Tools ein, klicken Sie mit der rechten Maustaste, ändern Sie die Verknüpfung, ersetzen Sie alle
%Vor%bis
%Vor%öffne den Link, versuche den Boost aufzubauen
Tags und Links c++ boost visual-studio-2013 linker-errors boost-build