Wie baut man Boost 1.55 mit Visual Studio 2013 auf?

8

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 .

>
  

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:

%Vor%

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,

umzubenennen
  

libboost_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!

    
Maks 19.02.2014, 10:50
quelle

5 Antworten

3

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%     
Kyle 08.05.2014 16:49
quelle
2

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.

    
Alexey Voytenko 19.02.2014 12:53
quelle
0

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.

    
Cracker 20.02.2014 14:41
quelle
0

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

    
Sergey Cheban 08.12.2014 19:05
quelle
0

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

    
bowman han 27.12.2014 16:07
quelle