64 bit pencereler için Boost'un 64 bit sürümü


119

VS2008 için 64-bit Boost kitaplığının bir sürümü var mı? Yoksa kendim mi derlemeliyim? eğer öyleyse, bununla deneyimi olan var mı?

Yanıtlar:


226

Kısa bir cevap olarak:

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

Daha uzun bir yanıt olarak, aynı hiyerarşide VS .NET 2008 32-bit ve 64-bit boost kitaplıklarına sahip olmak için derleme notlarım (ki bu yaygın bir kullanım durumundan şüpheleniyorum):

  1. Win32 ikili dosyalarını oluşturun

    bjam --toolset=msvc-9.0 --build-type=complete stage
  2. Lib \ win32 dizinini oluşturun

  3. Stage \ lib içeriğini lib \ win32 konumuna taşı
  4. Bin.v2 ve stage dizinlerini kaldırın
  5. X64 ikili dosyalarını oluşturun

    bjam --toolset=msvc-9.0 address-model=64 --build-type=complete stage
  6. Lib \ x64 dizinini oluşturun

  7. Stage \ lib içeriğini lib \ x64 konumuna taşı
  8. Bin.v2 ve stage dizinlerini kaldırın

25
Aşama dizinini de belirtebilirsiniz, bu da ortaya çıkan kitaplıkları etrafına kopyalama ihtiyacını ortadan kaldırır: bjam --toolset = msvc-9.0 adres-model = 64 --build-type = complete --stagedir = lib \ x64 stage
hkaiser

8
ne sahne ?
Ramadheer Singh

16
Ne yazık ki 64 derlemek için adres-model = 64 çalışmıyor. Yolunuzun Visual Studio \ bin \ amd64 \ cl.exe'ye işaret etmesi gerekir. Aksi takdirde 32 bit versiyon oluşturur. Bunu yapmak için Microsoft SDK Komut istemini başlatabilir ve tüm yolları yeniden tanımlayan "setenv / Release / x64" komutunu kullanabilirsiniz.
Budric

2
@Budric, emin misin? Benim için işe yaramış gibi görünüyor ve bu açıkça 64 bitte derlenirken bile 32 bit derleyiciye bir yol sağladığını belirtiyor.
Maciej Gryka

4
Hem 32 hem de 64 bit sürüm oluşturmanız gerekiyorsa, stagedir parametresini kullanmak da mümkündür: "bjam --stagedir =. / Lib_64bit adres-model = 64 toolset = msvc threading = multi" ve "bjam --stagedir =. / lib toolset = msvc threading = multi "
Odin

63

Sitemde yerleşik ikili dosyalar var: http://boost.teeks99.com

2013-05-13 Düzenleme: Yapımlarıma artık doğrudan sourceforge sayfasından erişilebilir (1.53'ten başlayarak) .


5
Bunu sağlamanız harika, çünkü BoostPRo (Boost kitaplıkları için ikili dosyalar sağlar) x64 sürümleri vermez. Teşekkürler!
CharlesB

VS2015 (VC ++ 14) ikili dosyalarını gönderme şansınız var mı? Bu çok takdir edilecektir.
Russell Greene

1
msvc-14.0 ikili dosyaları, birkaç hafta içinde çıkacak 1.59 sürümünde olacak.
teeks99

22

GÜNCELLEME (19.09.2017): VS2017 için komut dosyası satırları eklendi. Lütfen Boost'un yukarıdaki belirli bir sürümden VS2017 derleyicisini desteklediğini unutmayın. En son sürümü (1.65.1) kullandım.

Bu komut dosyalarını x64 ve x86 platformları, lib ve dll için destek oluşturmak, VS2017, VS2015 ve VS2013 için hata ayıklamak ve yayınlamak için kullandım:

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

.batGüçlendirme ikili dosyalarınızı oluşturmak için bir dosya oluşturabilir ve çalıştırabilirsiniz.


12

Şu anda, teeks99 tarafından sağlanan 64-bit ikili dosyalar (diğer cevaba bakınız) etraftaki tek ücretsiz 64-bit ikili dosyalar olarak görünmektedir. BoostPro bir süre için 64 bitlik ikili dosyalar da sağladı, ancak 1.51'den itibaren dışarıda veya iş başında görünüyorlar.

Öyleyse, tekrar iki seçeneğe geri döndük: teeks99 ikili dosyaları veya kendinizinkini oluşturmak.

Kendi bilgimi oluşturmak için ihtiyacım olan bilgilerin çoğu buradaydı: https://stackoverflow.com/a/2655683/613288

Eksik olan tek şey, bunun Visual Studio 2010 Express'in ücretsiz sürümüyle nasıl çalıştırılacağıydı. Bu eksik parçayı başka bir yerde buldum ve bazı özelleştirmelerden sonra, 1.49.0 ikilisini artırmak için kullandığım son tarif şuydu:

Visual C ++ 'ı başlatın ve Araçlar menüsünden Visual Studio Komut İstemi'ni başlatın.

Konsol penceresinde aşağıdakileri yapın:

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

ve ardından destek dizininde:

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

Son komut, ihtiyacım olan şey için özelleştirildi (sadece bazı statik bağlantılı kitaplıklar).


X64 1_51 yükleyicisini indirdim, ancak sistem kitaplığı için hasarlı arşiv içeriyor ve diğer bazı kitapların x86 olduğu görülüyor (bağlayıcı uyarıları alıyorum). Teeks99'un kitaplıklarına geçtikten sonra her şey yoluna girdi.
Alex

4

Bana hepsini VS2005 ve VS2008 için derleyen küçük bir betik hazırladım:

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\
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.