Visual Studio 2010'da Boost nasıl kullanılır


Yanıtlar:


512

İken Nate'in cevabı zaten oldukça iyidir, ben Visual Studio istendiği gibi 2010 daha özel Üzerinde genişletmek ve dış kütüphaneleri gerektirir çeşitli opsiyonel bileşenler derleme hakkında bilgi içerecek şekilde gidiyorum.

Yalnızca üstbilgi kitaplıkları kullanıyorsanız, tek yapmanız gereken boost yüklemesini arşivden çıkarmak ve ortam değişkenlerini ayarlamaktır. Aşağıdaki talimat, sistem genelinde bir bütün olarak değil, yalnızca Visual Studio için ortam değişkenlerini ayarlar. Sadece bir kez yapmanız gerektiğini unutmayın.

  1. Boost'un en son sürümünü (yazarken 1.47.0 gibi) seçtiğiniz bir dizine arşivden çıkarın (örn. C:\boost_1_47_0).
  2. Visual Studio'da yeni bir boş proje oluşturun.
  3. Mülk Yöneticisi'ni açın ve seçtiğiniz platform için yapılandırmalardan birini genişletin.
  4. Seç ve sağ tıklayın Microsoft.Cpp.<Platform>.userve Propertiesdüzenlemek üzere Özellik Sayfasını açmak için seçin.
  5. VC++ DirectoriesSol taraftan seçin .
  6. Include DirectoriesDestek kaynak dosyalarınızın yolunu eklemek için bölümü düzenleyin.
  7. Gerekirse, seçtiğiniz farklı platform için 3 - 6 arasındaki adımları tekrarlayın.

Destek gerektiren bir yapı parçası kullanmak istiyor, ancak dış bağımlılık gerektiren özelliklerden hiçbirini kullanmak istemiyorsanız, bunu oluşturmak oldukça basittir.

  1. Boost'un en son sürümünü (yazarken 1.47.0 gibi) seçtiğiniz bir dizine arşivden çıkarın (örn. C:\boost_1_47_0).
  2. Seçtiğiniz platform için Visual Studio Komut İstemi'ni başlatın ve takviyenin olduğu yere gidin.
  3. Çalıştır: bootstrap.batb2.exe dosyasını oluşturmak için (önceden bjam olarak adlandırılmıştı).
  4. Koş b2:

    • Win32 b2 --toolset=msvc-10.0 --build-type=complete stage :;
    • x64: b2 --toolset=msvc-10.0 --build-type=complete architecture=x86 address-model=64 stage

Yürüyüşe çıkın / film izleyin veya 2 / ....

  1. Ortam değişkenlerini ayarlamak için yukarıdaki talimat setinden 2 - 6 arasındaki adımları uygulayın.
  2. Library DirectoriesDestek kitaplıkları çıktısına giden yolu dahil etmek için bölümü düzenleyin. (Yukarıdaki örnek ve talimatlar için varsayılan değer olacaktır C:\boost_1_47_0\stage\lib. X86 ve x64'ü yan yana ( <BOOST_PATH>\lib\x86& gibi <BOOST_PATH>\lib\x64) istiyorsanız, önce dizini yeniden adlandırın ve taşıyın .
  3. Gerekirse seçtiğiniz farklı platform için 2 - 6 arasındaki adımları tekrarlayın.

İsteğe bağlı bileşenleri istiyorsanız, yapacak daha fazla işiniz vardır. Bunlar:

  • Iostreams Bzip2 filtreleri
  • Iostreams Zlib filtreleri
  • Boost.MPI
  • Boost.Python
  • Regex ICU desteği

Iostreams Bzip2 filtreleri:

  1. Bzip2 library (yazarken 1.0.6) kaynak dosyalarının en son sürümünü seçtiğiniz bir dizine arşivden çıkarın (örn. C:\bzip2-1.0.6).
  2. Güçlendirme oluşturmak için yukarıdaki ikinci talimat setini izleyin, ancak -sBZIP2_SOURCE="C:\bzip2-1.0.6"5. adımda b2'yi çalıştırırken seçeneği ekleyin .

Iostreams Zlib filtreleri

  1. Zlib kütüphanesinin en son sürümünü (yazarken 1.2.5) kaynak dosyaları seçtiğiniz bir dizine arşivden çıkarın (örn. C:\zlib-1.2.5).
  2. Güçlendirme oluşturmak için yukarıdaki ikinci talimat setini izleyin, ancak -sZLIB_SOURCE="C:\zlib-1.2.5"5. adımda b2'yi çalıştırırken seçeneği ekleyin .

Boost.MPI

  1. Microsoft Compute Cluster Pack gibi bir MPI dağıtımı yükleyin.
  2. Takviye oluşturmak için yukarıdaki ikinci talimat setinden 1-3 arası adımları izleyin.
  3. Bootstrap komutunun çalıştırılmasıyla sonuçlanan project-config.jamdizindeki dosyayı düzenleyin <BOOST_PATH>. Okunan bir satıra ekleyin using mpi ;(';' öncesi boşluğa dikkat edin).
  4. Takviye oluşturmak için yukarıdaki ikinci talimat grubundaki diğer adımları izleyin. MPI kurulumunun otomatik algılanması başarısız olursa, MPI'yi doğru yerde aramak için uygun derleme dosyasını bulmanız ve değiştirmeniz gerekir.

Boost.Python

  1. ActiveState'in ActivePython'u gibi bir Python dağıtımı yükleyin. Python kurulumunun PATH'nizde olduğundan emin olun.
  2. Kütüphanenin 32 bit sürümünü tamamen oluşturmak için 32 bit Python ve benzer şekilde 64 bit sürümü için gereklidir. Bu nedenle birden fazla sürümünüz varsa, b2'ye belirli sürümü nerede bulacağınızı ve hangisini kullanacağınızı söylemeniz gerekir. Bunu yapmanın bir yolu, önyükleme çalıştırmasıyla sonuçlanan project-config.jamdizindeki dosyayı düzenlemek olacaktır <BOOST_PATH>. Aşağıdaki iki satırı Python kurulum yollarınız ve sürümleriniz için uygun şekilde ayarlayarak ekleyin (';' öncesi boşluğa dikkat edin).

    using python : 2.6 : C:\\Python\\Python26\\python ;

    using python : 2.6 : C:\\Python\\Python26-x64\\python : : : <address-model>64 ;

    Bu tür açık Python belirtiminin şu anda MPI derlemesinin başarısız olmasına neden olduğunu unutmayın. Bu nedenle, MPI oluşturuyorsanız her şeyi oluşturmak için spesifikasyonlu ve spesifik olmayan ayrı bir bina yapmanız gerekecektir.

  3. Takviye oluşturmak için yukarıdaki ikinci talimat setini izleyin.

Regex ICU desteği

  1. ICU4C kütüphanesinin en son sürümünü (yazarken 4.8 olarak) kaynak dosyasını istediğiniz bir dizine arşivden çıkarın (örn. C:\icu4c-4_8).
  2. İçinde Visual Studio Solution'ı açın <ICU_PATH>\source\allinone.
  3. Seçtiğiniz platform için hem hata ayıklama hem de serbest bırakma yapılandırması için Tümünü Oluştur. Her iki hata ayıklama ve sürüm oluşturma çıktısı aynı dizinde (varsayılan davranış) olan ICU4C'nin Visual Studio 2010 ile son sürümlerini oluşturmada bir sorun olabilir . Olası bir geçici çözüm, bir Build All (hata ayıklama derlemesi) yapmak ve ardından 2. yapılandırmada tümünü yeniden oluştur (örn. Release build).
  4. X64 için bina yapıyorsanız, oluşturduğu 64-bit uygulamanın bazılarının çalıştırılmasını içeren post-build adımları olduğu için x64 OS çalıştırmanız gerekir.
  5. İsteğe bağlı olarak işiniz bittiğinde kaynak dizini kaldırın.
  6. Güçlendirme oluşturmak için yukarıdaki ikinci talimat setini izleyin, ancak -sICU_PATH="C:\icu4c-4_8"5. adımda b2'yi çalıştırırken seçeneği ekleyin .

@Sorin: Bunu neden değiştirmen gerek?
jalf

6
Özellik sayfalarını görmek için Araçlar> Ayarlar> Uzman Modu'nu seçmeniz gerektiğine dikkat edilmelidir. Sonunda bunu bulmak için biraz googling aldı ...
Zack The Human

@KTC: Aslında Araçlar> Ayarlar menüsünden ulaşılabilen "Uzman Ayarları" dır. VSC ++ 2010 Express Edition kullanıyorum ve "Uzman Ayarları" nı etkinleştirmeden özellik sayfalarını göremiyorsunuz.
Zack The Human

11
Hem x64 hem de win32'yi yan yana istiyorsanız, ilgili yapılara "--stagedir = lib / win32" ve "--stagedir = lib / x64" ekleyin.
M.Tibbits

3
Visual Studio 2010 için destek oluşturma ve yapılandırma hakkında bir video eğitimi için bu yardımcı olabilir: youtube.com/watch?v=5AmwIwedTCM
Christophe

158

Boost web sitesindeki talimatlar yardımcı olsa da , burada x64 kitaplıkları oluşturan yoğun bir sürüm bulunmaktadır.

  • Bunu yalnızca talimatlar sayfasının 3. bölümünde belirtilen kitaplıklardan birini kullanıyorsanız yapmanız gerekir . (Örneğin, Boost.Filesystem kullanmak için derleme gerekir.) Bunlardan herhangi birini kullanmıyorsanız, sadece açın ve gidin.

32 bit kitaplıkları oluşturma

Bu, altındaki Boost başlık dosyalarını C:\Boost\include\boost-(version)ve altındaki 32 bit kitaplıkları yükler C:\Boost\lib\i386. Kitaplıklar için varsayılan konum olduğunu, C:\Boost\libancak i386birden çok mimariyi oluşturmayı planlıyorsanız, bunları bir dizinin altına koymak isteyeceğinizi unutmayın.

  1. Boost'u yeni bir dizine açın.
  2. 32-bit MSVC komut istemini başlatın ve Boost'un açıldığı dizine geçin.
  3. Çalıştırmak: bootstrap
  4. Çalıştırmak: b2 toolset=msvc-12.0 --build-type=complete --libdir=C:\Boost\lib\i386 install

    • Visual Studio 2012 için şunu kullanın: toolset=msvc-11.0
    • Visual Studio 2010 için şunu kullanın: toolset=msvc-10.0
    • Visual Studio 2017 için şunu kullanın: toolset=msvc-14.1
  5. C:\Boost\include\boost-(version)Dahil etme yolunuza ekleyin .

  6. C:\Boost\lib\i386Kütüphanelerinize ekleyin .

64 bit kitaplıkları oluşturma

Bu, altındaki Boost başlık dosyalarını C:\Boost\include\boost-(version)ve altındaki 64 bit kitaplıkları yükler C:\Boost\lib\x64. Kitaplıklar için varsayılan konum olduğunu, C:\Boost\libancak x64birden çok mimariyi oluşturmayı planlıyorsanız, bunları bir dizinin altına koymak isteyeceğinizi unutmayın.

  1. Boost'u yeni bir dizine açın.
  2. 64-bit MSVC komut istemi başlatın ve Boost'un açıldığı dizine geçin.
  3. Çalıştırmak: bootstrap
  4. Çalıştırmak: b2 toolset=msvc-12.0 --build-type=complete --libdir=C:\Boost\lib\x64 architecture=x86 address-model=64 install
    • Visual Studio 2012 için şunu kullanın: toolset=msvc-11.0
    • Visual Studio 2010 için şunu kullanın: toolset=msvc-10.0
  5. C:\Boost\include\boost-(version)Dahil etme yolunuza ekleyin .
  6. C:\Boost\lib\x64Kütüphanelerinize ekleyin .

24
Bunları kendiniz oluşturmak istemiyorsanız, sourceforge'dan önceden oluşturulmuş ikili dosyaları yükleyebilirsiniz: sourceforge.net/projects/boost/files/boost-binaries Her bir boost sürümü için, her visual studio sürümü için ( hem 32 hem de 64 bit).
teeks99

64 bit derleme yaparken architecture = x64 yerine architecture = x86 kullanmanın nedeni nedir? EDIT: Sadece zor yoldan öğrendim: P Bunu 64'e
geçemezsiniz

hey, @ teeks99 verilen bağlantınızı ziyaret ettim ama v1.4.7 sürümü için çok fazla dosya buldum, hangisini kullanmalıyım? tüm boost işlevlerinin kullanımı için uygun tek bir dosya (kütüphane / dll) varsa daha iyi değil mi?
16:26

2
Sourceforge.net/projects/boost/files/boost-binaries/… 'i deneyin; 32 bit veya 64 bit'e ihtiyacınız olup olmadığına bağlı olarak 1.47.0 için bir yükleyici bulabilmeniz gerekir. İçinde pek çok DLL bulacaksınız, bu sadece nasıl çalışır. Bununla birlikte, visual studio projenizi doğru dizine yönlendirdiğiniz sürece, içinde kaç kişinin olduğu önemli değildir, çünkü ihtiyaç duyduğu doğru (lar) ı otomatik olarak seçecektir.
teeks99

20

Ayrıca, -j% NUMBER_OF_PROCESSORS% öğesini tüm çekirdeklerinizi kullanacağı bir argüman olarak deneyebilirsiniz. Dört çekirdekteki işleri çok hızlı hale getiriyor.


3
Bu kez bir milyon .... sonunda VS2015 için birleşik bir çaba olarak gittiğim şey: b2 -j% NUMBER_OF_PROCESSORS% toolset = msvc-14.0 --build-type = complete --libdir = C: \ Boost \ lib \ x64 mimarisi = x86 adres-modeli = 64 kurulum
kayleeFrye_onDeck

powershell için: -j "$ env: NUMBER_OF_PROCESSORS"
Oscillon

14

Aşağıdaki numarayı önerebilirim: Özel bir boost.propsdosya oluştur

  1. Mülk yöneticisini açın
  2. Proje düğümünüzü sağ tıklayın ve 'Yeni proje özellik sayfası ekle'yi seçin.
  3. Bir konum seçin ve özellik sayfanıza bir ad verin (örn. C: \ mystuff \ boost.props)
  4. Ek Include ve Lib klasörlerini arama yolunda değiştirin.

Bu yordam, yalnızca açık bir şekilde eklemek istediğiniz projelerde artırmanın dahil edildiği değere sahiptir. Boost kullanan yeni bir projeniz olduğunda şunları yapın:

  1. Mülk yöneticisini açın.
  2. Proje düğümüne sağ tıklayın ve 'Mevcut özellik sayfasını ekle'yi seçin.
  3. Boost özellik sayfasını seçin.

EDIT (@ jim-fred'deki düzenlemeyi takiben):

Ortaya çıkan boost.propsdosya şuna benzer ...

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets" />
  <PropertyGroup Label="UserMacros">
    <BOOST_DIR>D:\boost_1_53_0\</BOOST_DIR>
  </PropertyGroup>
  <PropertyGroup>
    <IncludePath>$(BOOST_DIR);$(IncludePath)</IncludePath>
    <LibraryPath>$(BOOST_DIR)stage\lib\;$(LibraryPath)</LibraryPath>
  </PropertyGroup>
</Project>

Destek dizininin konumu için bir kullanıcı makrosu (bu durumda, D: \ boost_1_53_0) ve diğer iki parametre içerir: IncludePath ve LibraryPath. Bir deyim#include <boost/thread.hpp> uygun dizinde thread.hpp dosyasını bulur (bu durumda D: \ boost_1_53_0 \ boost \ thread.hpp). 'Stage \ lib \' dizini, yüklü dizine bağlı olarak değişebilir.

Bu boost.props dosyası D:\boost_1_53_0\dizinde bulunabilir.


13

Boost'un hangi kısımlarına ihtiyacınız var? Bir çok şey, Visual Studio ile birlikte gönderilen TR1'in bir parçasıdır, bu nedenle örneğin şunları söyleyebilirsiniz:

#include <tr1/memory>

using std::tr1::shared_ptr;

James'e göre, bunun da çalışması gerekir (C ++ 0x'de):

#include <memory>

using std::shared_ptr;

5
VS2010'da, C ++ 0x'in bir parçası haline gelen TR1 kitaplıklarının tümü std, C ++ 0x standardında olduğu gibi ad alanına taşınmıştır . ( std::tr1Geriye dönük uyumluluk için muhtemelen isim alanında olduklarını düşünüyorum ).
James McNellis

6

Bu iş parçacığı bir süredir oldu ve özel donanımınızda mümkün olduğunca hızlı bir şekilde Boost oluşturmak için NASIL hakkında bir şeyler ekleyeceğimi düşündüm.

4 veya 6 çekirdekli sisteminiz varsa sırasıyla -j5 veya -j7 kullanın. Gerçekten çift çekirdekli olmadıkça standart yapı nor -j2 değil.

Ana istasyonumda 3930K (6 çekirdekli) stoklu bir Sandy Bridge Extreme çalıştırıyorum, ancak eski yedek kutusunda 2600k (4 çekirdekli) var ve trend N + ile en iyi Boost derleme sürelerini elde ediyorum 1, N'nin fiziksel çekirdek sayısı olduğu süreçler oluşturur. N + 2 azalan getiri noktasına ulaşır ve süreler artar.

Notlar: Hiper iş parçacığı etkin, 32 GB RAM DDR3, Samsung 840 EVO SSD.

6 çekirdekli -j7 (2 dakika ve 51 saniye) (Win7 Ultimate x64) (Visual Studio 2013)

PS C:\Boost\boost_1_56_0> measure-command { .\b2 -j7 --build-type=complete msvc stage }

Days              : 0
Hours             : 0
Minutes           : 2
Seconds           : 51
Milliseconds      : 128
Ticks             : 1711281830
TotalDays         : 0.0019806502662037
TotalHours        : 0.0475356063888889
TotalMinutes      : 2.85213638333333
TotalSeconds      : 171.128183
TotalMilliseconds : 171128.183

6 çekirdekli j6 (3 dakika 2 saniye) (Win7 Ultimate x64) (Visual Studio 2013)

PS C:\Boost\boost_1_56_0> measure-command { .\b2 -j6 --build-type=complete msvc stage }

Days              : 0
Hours             : 0
Minutes           : 3
Seconds           : 2
Milliseconds      : 809
Ticks             : 1828093904
TotalDays         : 0.00211584942592593
TotalHours        : 0.0507803862222222
TotalMinutes      : 3.04682317333333
TotalSeconds      : 182.8093904
TotalMilliseconds : 182809.3904

6 çekirdekli -j8 (3 dakika ve 17 saniye) (Win7 Ultimate x64) (Visual Studio 2013)

PS C:\Boost\boost_1_56_0> measure-command { .\b2 -j8 --build-type=complete msvc stage }

Days              : 0
Hours             : 0
Minutes           : 3
Seconds           : 17
Milliseconds      : 652
Ticks             : 1976523915
TotalDays         : 0.00228764342013889
TotalHours        : 0.0549034420833333
TotalMinutes      : 3.294206525
TotalSeconds      : 197.6523915
TotalMilliseconds : 197652.3915

-j7 6 çekirdekli

Yapılandırma

Building the Boost C++ Libraries.


Performing configuration checks

    - 32-bit                   : yes (cached)
    - arm                      : no  (cached)
    - mips1                    : no  (cached)
    - power                    : no  (cached)
    - sparc                    : no  (cached)
    - x86                      : yes (cached)
    - has_icu builds           : no  (cached)
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add "using mpi ;" to your user-config.jam
    - zlib                     : no  (cached)
    - iconv (libc)             : no  (cached)
    - iconv (separate)         : no  (cached)
    - icu                      : no  (cached)
    - icu (lib64)              : no  (cached)
    - message-compiler         : yes (cached)
    - compiler-supports-ssse3  : yes (cached)
    - compiler-supports-avx2   : yes (cached)
    - gcc visibility           : no  (cached)
    - long double support      : yes (cached)
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
    - zlib                     : no  (cached)

64-bit derlemenin biraz daha uzun sürdüğünü, bunlar için aynı karşılaştırmayı yapmam ve güncellemem gerektiğini unutmayın.


5

Ayrıca küçük bir not: Derleme süresini azaltmak istiyorsanız, bayrağı ekleyebilirsiniz.

-j2

iki paralel yapıyı aynı anda çalıştırmak. Bu, bir filmi izlemeye indirgeyebilir;)


2
Nasıl kullanılacağını açıklamak -j2cevabınızın değerini artıracaktır.
ST3

5

Destek dosyasını şuradan indirin: http://www.boost.org/users/download/ örn. Svn

  • Windows -> kaplumbağa (en basit yol)

Bundan sonra: cmd -> boost dizinine git ("D: \ boostTrunk" - burada paketi satın alır veya indirir ve çıkarırsınız): command: bootstrap

Biz ( "D: \ boostTrunk") olarak bjam.exe oluşturuldu: komutu: Bundan sonra bjam araç grubu = msvc-10.0 varyantı = ayıklama, salma parçacığı = çoklu bağlantı = statik (Biraz zaman alacak ~ 20dk.)

Bundan sonra: Visual Studio 2010'u açın -> boş proje oluştur -> proje özelliklerine git -> set:

Proje özellikleri VS 2010

Bu kodu yapıştırın ve çalışıp çalışmadığını kontrol edin?

#include <iostream>
#include <boost/shared_ptr.hpp>
#include <boost/regex.hpp>

using namespace std;

struct Hello 
{
    Hello(){ 
        cout << "Hello constructor" << endl;
    }

    ~Hello(){
        cout << "Hello destructor" << endl;
        cin.get();
    }
};


int main(int argc, char**argv)
{
    //Boost regex, compiled library
    boost::regex regex("^(Hello|Bye) Boost$");
    boost::cmatch helloMatches;
    boost::regex_search("Hello Boost", helloMatches, regex);
    cout << "The word between () is: " << helloMatches[1] << endl;

    //Boost shared pointer, header only library
    boost::shared_ptr<Hello> sharedHello(new Hello);

    return 0;
}

Kaynaklar: https://www.youtube.com/watch?v=5AmwIwedTCM


4

İşte Boost'u nasıl kullanabildim:

  1. Boost kitaplıklarının zip sürümünü indirin ve çıkarın.
  2. Bootstrap.bat dosyasını çalıştırın ve sonra bjam.exe dosyasını çalıştırın.
  3. Yaklaşık 30 dakika kadar bekleyin.
  4. Visual Studio'da yeni bir proje oluşturun.
  5. Projeye gidin -> özellikler -> Bağlayıcı -> Genel -> Ek Kütüphane Dizinleri ve buna boost / stage / lib dizini ekleyin .
  6. Projeye gidin -> özellikler -> C / C ++ -> Genel -> Ek Dizinler İçer ve ona destek dizini ekleyin .

Projenizi hatasız olarak inşa edebileceksiniz!


3

Burada bulunan Windows yükleyicileri benim için mükemmel çalıştı. Aşağıdaki adımları attım:

  1. Kurulum tamamlanıncaya kadar kurulum sihirbazını takip edin.
  2. Görsel stüdyoyu çalıştırın.
  3. Yeni bir C ++ projesi oluşturma
  4. Proje özelliklerini aç (çözüm gezgininde proje adına sağ tıklayarak bulunabilir)
  5. "C / C ++> Genel> Ek Dahil Etme Dizinleri" altında, kök dizini arttırma yolunu ekleyin. Sürümüm için varsayılan C: \ local \ boost_1_63_0 idi. "Güçlendirme" den sonraki sayı, güçlendirme sürümüdür.
  6. Proje özelliklerinde, "Bağlayıcı> Ek Kütüphane Dizinleri" altında kütüphane dosyaları için dizin ekleyin. Sürümüm için varsayılan C: \ local \ boost_1_63_0 \ lib64-msvc-14.0 idi. "Lib" den sonraki sayı oluşturma hedefiyle (Visual Studio'da 32 bit veya 64 bit) ve "msvc" den sonraki sayı Visual Studio (14.0 Visual Studio 2015 ile ilgilidir) 2017 Visual Studio ile kullanma).

İyi şanslar!


2

KTC'nin çok bilgilendirici ana cevabına küçük bir katkı:

Ücretsiz Visual Studio c ++ 2010 Express kullanıyorsanız ve bunu 64 bit ikili dosyaları derlemeyi başarabildiyseniz ve şimdi bunu Boost libaries'in 64 bit sürümünü kullanmak için kullanmak istiyorsanız, 32- bit kitaplıkları (kilometreniz elbette değişebilir, ancak makinemde bu üzücü durumdur).

Aşağıdakileri kullanarak bunu düzeltebilirim: yukarıda açıklanan adımlar arasında

  1. 32-bit MSVC komut istemini başlatın ve Boost'un açıldığı dizine geçin.
  2. Çalıştır: bootstrap

Ortamı ayarlamak için 'setenv' çağrısı ekledim. Bir sürüm derlemesi için yukarıdaki adımlar:

  1. 32-bit MSVC komut istemini başlatın ve Boost'un açıldığı dizine geçin.
  2. Çalıştırın: "C: \ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ setenv.cmd" / Release / x64
  3. Çalıştır: bootstrap

Bu bilgiyi burada buldum: http://boost.2283326.n4.nabble.com/64-bit-with-VS-Express-again-td3044258.html


Bunun VS2015 Topluluk Sürümü için geçerli olup olmadığını biliyor musunuz? Ben "adres-modeli = 64" tedarik rağmen 32 bit ikili ile bitiyor gibi görünüyor
paxos1977

@ paxos1977 Üzgünüm, bilmiyorum - VS2015 için bunu denemedim.
ecotax

Kesinlikle masaüstü için VS 2015 Express için geçerlidir, sadece kendim deneyimledim. Setenv'e alternatif "vcvarsall x86_amd64" yi çağırmaktır
introiboad

1

Visual Studio'da başlamanızı sağlayacak minimalist bir örnek:

1. Boost'u buradan indirin ve açın.

Ayrı bir derleme gerektirmeyen örnek bir destek kitaplığı kullanarak bir Visual Studio boş projesi oluşturun:

#include <iostream>
#include <boost/format.hpp>

using namespace std;  
using namespace boost;  

int main()  
{  
    unsigned int arr[5] = { 0x05, 0x04, 0xAA, 0x0F, 0x0D };  

    cout << format("%02X-%02X-%02X-%02X-%02X")  
            % arr[0]  
            % arr[1]  
            % arr[2]  
            % arr[3]  
            % arr[4]  
         << endl;  
}  

Visual Studio proje özelliklerinizde Ek İçerme Dizinleri'ni ayarlayın:

Proje Özellikleri

Çok basit bir örnek için:

Visual Studio'da Boost Kitaplıkları Yükleme

Destek kitaplığının tamamını kullanmak istemiyorsanız, yalnızca bir alt küme:

Windows'ta yükseltme kitaplıklarının bir alt kümesini kullanma

Özellikle derleme gerektiren kütüphaneler hakkında özellikle bilgi almak istiyorsanız:

Boost derlenmiş kitaplıkları Windows'ta kullanma


0

Ayrıca, çok yararlı bulduğum bir şey var. Yükseltme yollarınız için ortam değişkenlerini kullanın. (Windows'ta ortam değişkenleri nasıl ayarlanır, 7,8,10 için altta bağlantı) BOOST_ROOT değişkeni artık ortak bir yer gibi görünüyor ve artırmayı açtığınız kök yola ayarlanmış.

Sonra Özellikler, c ++, genel, Ek Include Dizinler kullanın $(BOOST_ROOT). Daha sonra, destek kitaplığının daha yeni bir sürümüne geçtiğinizde / ne zaman taşındığınızda, ortam değişkeninizi bu yeni sürüme işaret edecek şekilde güncelleyebilirsiniz. Daha fazla projeniz olarak, destek kullanın, hepsi için 'Ek Dahil Etme Dizinlerini' güncellemeniz gerekmeyecektir.

Ayrıca bir BOOST_LIB değişkeni oluşturabilir ve değişkenlerin yerleştirildiği yere yönlendirebilirsiniz. Aynı şekilde Bağlayıcı-> Ek Kütüphane Dizinleri için projeleri güncellemeniz gerekmez. Ben vs10 ile inşa bazı eski şeyler ve vs14 ile yeni şeyler böylece aynı klasöre boost lib her iki lezzet inşa var. Bir projeyi vs10'dan vs14'e taşırsam, yükseltme yollarını değiştirmem gerekmez.

NOT: Bir ortam değişkenini değiştirirseniz, aniden açık bir VS projesinde çalışmaz. VS değişkenleri başlangıçta yükler. Yani VS'yi kapatıp tekrar açmanız gerekecek.

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.