webentwicklung-frage-antwort-db.com.de

64-Bit-Version von Boost für 64-Bit-Fenster

Gibt es eine Version der 64-Bit-Boost-Bibliothek für VS2008? Oder muss ich selbst eins kompilieren? wenn ja, hat jemand erfahrung damit?

119
ra170

Als kurze Antwort:

bjam --toolset=msvc-9.0 address-model=64 --build-type=complete

Als längere Antwort sind hier meine Build-Hinweise für VS .NET 2008 32-Bit- und 64-Bit-Boost-Bibliotheken in derselben Hierarchie (was ich für einen häufigen Anwendungsfall halte):

  1. Erstellen Sie die Win32-Binärdateien

    bjam --toolset=msvc-9.0 --build-type=complete stage
    
  2. Erstellen Sie das Verzeichnis lib\win32

  3. Verschieben Sie den Inhalt von stage\lib nach lib\win32
  4. Entfernen Sie die Verzeichnisse bin.v2 und stage
  5. Erstellen Sie die x64-Binärdateien

    bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
    
  6. Erstellen Sie das Verzeichnis lib\x64

  7. Verschieben Sie den Inhalt von stage\lib nach lib\x64
  8. Entfernen Sie die Verzeichnisse bin.v2 und stage
226
Adrian Conlon

Ich habe die erstellten Binärdateien auf meiner Website: http://boost.teeks99.com

Edit 2013-05-13: Meine Builds sind jetzt (ab 1.53) direkt auf der SourceForge-Seite verfügbar.

63
teeks99

UPDATE (19.09.2017): Skriptzeilen für VS2017 hinzugefügt. Bitte beachten Sie, dass Boost den VS2017-Compiler ab einer bestimmten Version unterstützt. Ich habe die neueste Version (1.65.1) verwendet.

Ich habe diese Skripte zum Erstellen von Boost für x64- und x86-Plattformen, lib und dll sowie zum Debuggen und Freigeben für VS2017, VS2015 und VS2013 verwendet:

md stage\VS2017\x64
md stage\VS2015\x64
md stage\VS2013\x64    

b2 --stagedir=./stage/VS2017/x64 address-model=64 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2017/x64 address-model=64 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=release  

b2 --stagedir=./stage/VS2015/x64 address-model=64 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2015/x64 address-model=64 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=release

b2 --stagedir=./stage/VS2013/x64 address-model=64 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2013/x64 address-model=64 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=release


md stage\VS2017\win32
md stage\VS2015\win32
md stage\VS2013\win32

b2 --stagedir=./stage/VS2017/win32 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2017/win32 --build-type=complete --toolset=msvc-14.1 --threading=multi --runtime-link=shared --variant=release

b2 --stagedir=./stage/VS2015/win32 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2015/win32 --build-type=complete --toolset=msvc-14.0 --threading=multi --runtime-link=shared --variant=release

b2 --stagedir=./stage/VS2013/win32 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=debug
b2 --stagedir=./stage/VS2013/win32 --build-type=complete --toolset=msvc-12.0 --threading=multi --runtime-link=shared --variant=release

pause

Sie können ein .bat Datei und führen Sie es aus, um Ihre Boost-Binärdateien zu erstellen.

21
mtb

Gegenwärtig scheinen die von teeks99 bereitgestellten 64-Bit-Binärdateien (siehe andere Antwort) die einzigen freien 64-Bit-Binärdateien zu sein. BoostPro stellte für eine Weile auch 64-Bit-Binärdateien zur Verfügung, ab 1.51 scheinen sie jedoch nicht mehr zu funktionieren.

Wir haben also wieder zwei Möglichkeiten: die teeks99-Binärdateien oder die Erstellung Ihrer eigenen.

Die meisten Informationen, die ich zum Erstellen meiner eigenen benötigte, waren hier: https://stackoverflow.com/a/2655683/613288

Das einzige, was fehlte, war, wie dies mit der kostenlosen Version von Visual Studio 2010 Express funktioniert. Ich fand das fehlende Teil woanders und nach einigen Anpassungen lautete das endgültige Rezept, das ich für meinen Build der Binärdateien von Boost 1.49.0 verwendete:

Starten Sie Visual C++, und starten Sie in dem Menü Extras Visual Studio Command Prompt.

Führen Sie im Konsolenfenster die folgenden Schritte aus:

"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\setenv.cmd"  /Release  /x64

und dann im Boost-Verzeichnis:

bootstrap.bat
b2  -a  -sBZIP2_SOURCE="C:\bzip2-1.0.6"   -sZLIB_SOURCE="C:\zlib-1.2.5"   --toolset=msvc-10.0  architecture=x86  address-model=64  link=static  --with-date_time  --with-filesystem  --with-serialization  --with-test  --with-thread  --with-system  --with-regex  --with-iostreams  stage

Der letzte Befehl ist an meine Bedürfnisse angepasst (nur einige statisch verknüpfte Bibliotheken).

12
ecotax

Ich habe mir ein kleines Skript erstellt, das sie alle für VS2005 und VS2008 kompiliert:

md stage\lib\win32
md stage\lib\x64

REM Visual Studio 2005
bjam --toolset=msvc-8.0 --build-type=complete stage
move /Y stage\lib\* stage\lib\win32\

bjam --toolset=msvc-8.0 address-model=64 --build-type=complete stage
move /Y stage\lib\* stage\lib\x64\

REM Visual Studio 2008
bjam --toolset=msvc-9.0 --build-type=complete stage
move /Y stage\lib\* stage\lib\win32\

bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
move /Y stage\lib\* stage\lib\x64\
4
Harald Krause