Cara menggunakan Boost di Visual Studio 2010

368

Apa penjelasan langkah demi langkah yang baik tentang cara menggunakan perpustakaan Boost dalam proyek kosong di Visual Studio?

OlimilOops
sumber

Jawaban:

512

Walaupun jawaban Nate sudah cukup bagus, saya akan mengembangkannya lebih khusus untuk Visual Studio 2010 seperti yang diminta, dan memasukkan informasi tentang kompilasi dalam berbagai komponen opsional yang memerlukan perpustakaan eksternal.

Jika Anda hanya menggunakan pustaka header, maka yang perlu Anda lakukan adalah menghapus pengunduhan unduhan dan mengatur variabel lingkungan. Instruksi di bawah ini mengatur variabel lingkungan untuk Visual Studio saja, dan tidak di seluruh sistem secara keseluruhan. Catatan Anda hanya perlu melakukannya sekali.

  1. Batalkan pengarsipan versi boost terbaru (1,47.0 saat penulisan) ke direktori pilihan Anda (mis C:\boost_1_47_0.).
  2. Buat proyek kosong baru di Visual Studio.
  3. Buka Manajer Properti dan perluas salah satu konfigurasi untuk platform pilihan Anda.
  4. Pilih & klik kanan Microsoft.Cpp.<Platform>.user, dan pilih Propertiesuntuk membuka Halaman Properti untuk diedit.
  5. Pilih VC++ Directoriesdi sebelah kiri.
  6. Edit Include Directoriesbagian untuk menyertakan path ke file sumber boost Anda.
  7. Ulangi langkah 3 - 6 untuk platform berbeda pilihan Anda jika perlu.

Jika Anda ingin menggunakan bagian dorongan yang membutuhkan bangunan, tetapi tidak ada fitur yang memerlukan dependensi eksternal, maka membangunnya cukup sederhana.

  1. Batalkan pengarsipan versi boost terbaru (1,47.0 saat penulisan) ke direktori pilihan Anda (mis C:\boost_1_47_0.).
  2. Mulai Visual Studio Command Prompt untuk platform pilihan Anda dan navigasikan ke tempat peningkatan.
  3. Jalankan: bootstrap.batuntuk membangun b2.exe (sebelumnya bernama bjam).
  4. Jalankan 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

Jalan-jalan / nonton film atau 2 / ....

  1. Ikuti langkah 2 - 6 dari set instruksi di atas untuk mengatur variabel lingkungan.
  2. Edit Library Directoriesbagian untuk menyertakan jalur ke output perpustakaan Anda. (Default untuk contoh dan instruksi di atas adalah C:\boost_1_47_0\stage\lib. Ganti nama dan pindahkan direktori terlebih dahulu jika Anda ingin memiliki x86 & x64 berdampingan (seperti ke <BOOST_PATH>\lib\x86& <BOOST_PATH>\lib\x64).
  3. Ulangi langkah 2 - 6 untuk platform berbeda pilihan Anda jika perlu.

Jika Anda ingin komponen opsional, maka Anda memiliki lebih banyak pekerjaan yang harus dilakukan. Ini adalah:

  • Filter Boost.IOStreams Bzip2
  • Boost.IOStreams filter Zlib
  • Boost.MPI
  • Boost.Python
  • Dukungan Boost.Regex ICU

Filter Boost.IOStreams Bzip2:

  1. Batalkan arsip versi terbaru dari bzip2 library (1.0.6 saat penulisan) file sumber ke direktori pilihan Anda (mis C:\bzip2-1.0.6.).
  2. Ikuti set instruksi kedua di atas untuk membangun boost, tetapi tambahkan opsi -sBZIP2_SOURCE="C:\bzip2-1.0.6"saat menjalankan b2 pada langkah 5.

Boost.IOStreams filter Zlib

  1. Batalkan arsip versi terbaru perpustakaan zlib (1.2.5 saat penulisan) ke dalam direktori pilihan Anda (mis C:\zlib-1.2.5.).
  2. Ikuti set instruksi kedua di atas untuk membangun boost, tetapi tambahkan opsi -sZLIB_SOURCE="C:\zlib-1.2.5"saat menjalankan b2 pada langkah 5.

Boost.MPI

  1. Instal distribusi MPI seperti Microsoft Compute Cluster Pack.
  2. Ikuti langkah 1 - 3 dari set instruksi kedua di atas untuk membangun boost.
  3. Edit file project-config.jamdalam direktori <BOOST_PATH>yang dihasilkan dari menjalankan bootstrap. Tambahkan baris yang bertuliskan using mpi ;(perhatikan spasi sebelum tanda ';').
  4. Ikuti langkah-langkah selanjutnya dari set instruksi kedua di atas untuk membangun boost. Jika deteksi otomatis instalasi MPI gagal, maka Anda harus mencari dan memodifikasi file build yang sesuai untuk mencari MPI di tempat yang tepat.

Boost.Python

  1. Instal distribusi Python seperti ActivePython ActiveState. Pastikan instalasi Python ada di PATH Anda.
  2. Untuk sepenuhnya membangun versi 32-bit perpustakaan membutuhkan Python 32-bit, dan juga untuk versi 64-bit. Jika Anda memiliki beberapa versi yang terinstal untuk alasan seperti itu, Anda harus memberi tahu b2 di mana menemukan versi spesifik dan kapan harus menggunakannya. Salah satu cara untuk melakukannya adalah dengan mengedit file project-config.jamdi direktori <BOOST_PATH>yang dihasilkan dari menjalankan bootstrap. Tambahkan dua baris berikut yang menyesuaikan yang sesuai untuk jalur & versi pemasangan Python Anda (perhatikan spasi sebelum ';').

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

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

    Perhatikan bahwa spesifikasi Python eksplisit seperti saat ini menyebabkan pembangunan MPI gagal. Jadi, Anda perlu melakukan beberapa bangunan terpisah dengan dan tanpa spesifikasi untuk membangun semuanya jika Anda juga membangun MPI.

  3. Ikuti set instruksi kedua di atas untuk membangun boost.

Dukungan Boost.Regex ICU

  1. Batalkan arsip versi terbaru perpustakaan ICU4C (4.8 saat penulisan) ke dalam direktori pilihan Anda (mis C:\icu4c-4_8.).
  2. Buka Solusi Visual Studio di <ICU_PATH>\source\allinone.
  3. Bangun Semua untuk konfigurasi debug & lepaskan untuk platform pilihan Anda. Mungkin ada masalah membangun rilis terbaru ICU4C dengan Visual Studio 2010 ketika output untuk debug & rilis build berada di direktori yang sama (yang merupakan perilaku default). Solusi yang mungkin adalah melakukan Build All (dari debug build say) dan kemudian melakukan Rebuild all dalam konfigurasi ke-2 (mis. Rilis build).
  4. Jika membangun untuk x64, Anda harus menjalankan OS x64 karena ada langkah-langkah pembuatan pos yang melibatkan menjalankan beberapa aplikasi 64-bit yang sedang dibuatnya.
  5. Secara opsional hapus direktori sumber ketika Anda selesai.
  6. Ikuti set instruksi kedua di atas untuk membangun boost, tetapi tambahkan opsi -sICU_PATH="C:\icu4c-4_8"saat menjalankan b2 pada langkah 5.
KTC
sumber
@ Korin: mengapa Anda harus mengubahnya?
Jalf
6
Perlu dicatat bahwa Anda harus memilih Peralatan> Pengaturan> Mode Pakar untuk bahkan melihat lembar properti. Butuh beberapa googling untuk akhirnya mengetahui hal ini ...
Zack The Human
@KTC: Sebenarnya "Pengaturan Pakar", tersedia dari menu Alat> Pengaturan. Saya menjalankan VSC ++ 2010 Express Edition dan tanpa mengaktifkan "Pengaturan Pakar" Anda tidak dapat melihat lembar properti.
Zack The Human
11
Jika Anda ingin kedua x64 & win32 berdampingan, tambahkan "--stagedir = lib / win32" dan "--stagedir = lib / x64" ke masing-masing build.
M. Tibbits
3
Untuk tutorial video cara membuat dan mengonfigurasi peningkatan untuk Visual Studio 2010, ini mungkin membantu: youtube.com/watch?v=5AmwIwedTCM
Christophe
158

Sementara petunjuk di situs web Boost sangat membantu, berikut adalah versi ringkas yang juga membangun pustaka x64.

  • Anda hanya perlu melakukan ini jika Anda menggunakan salah satu perpustakaan yang disebutkan di bagian 3 dari halaman instruksi. (Misalnya, untuk menggunakan Boost.Filesystem membutuhkan kompilasi.) Jika Anda tidak menggunakan salah satunya, cukup unzip dan lanjutkan.

Bangun perpustakaan 32-bit

Ini menginstal Boost header file di bawah C:\Boost\include\boost-(version), dan perpustakaan 32-bit di bawah C:\Boost\lib\i386. Perhatikan bahwa lokasi default untuk perpustakaan adalah C:\Boost\libtetapi Anda ingin meletakkannya di bawah i386direktori jika Anda berencana untuk membangun beberapa arsitektur.

  1. Unzip Boost ke direktori baru.
  2. Mulai prompt perintah MSVC 32-bit dan ubah ke direktori tempat Boost tidak di-zip.
  3. Lari: bootstrap
  4. Lari: b2 toolset=msvc-12.0 --build-type=complete --libdir=C:\Boost\lib\i386 install

    • Untuk Visual Studio 2012, gunakan toolset=msvc-11.0
    • Untuk Visual Studio 2010, gunakan toolset=msvc-10.0
    • Untuk Visual Studio 2017, gunakan toolset=msvc-14.1
  5. Tambahkan C:\Boost\include\boost-(version)ke jalur sertakan Anda.

  6. Tambahkan C:\Boost\lib\i386ke jalur lib Anda.

Bangun pustaka 64-bit

Ini menginstal Boost header file di bawah C:\Boost\include\boost-(version), dan pustaka 64-bit di bawah C:\Boost\lib\x64. Perhatikan bahwa lokasi default untuk perpustakaan adalah C:\Boost\libtetapi Anda ingin meletakkannya di bawah x64direktori jika Anda berencana untuk membangun beberapa arsitektur.

  1. Unzip Boost ke direktori baru.
  2. Mulai prompt perintah MSVC 64-bit dan ubah ke direktori tempat Boost tidak di-zip.
  3. Lari: bootstrap
  4. Lari: b2 toolset=msvc-12.0 --build-type=complete --libdir=C:\Boost\lib\x64 architecture=x86 address-model=64 install
    • Untuk Visual Studio 2012, gunakan toolset=msvc-11.0
    • Untuk Visual Studio 2010, gunakan toolset=msvc-10.0
  5. Tambahkan C:\Boost\include\boost-(version)ke jalur sertakan Anda.
  6. Tambahkan C:\Boost\lib\x64ke jalur lib Anda.
Nate
sumber
24
Jika Anda tidak ingin membuatnya sendiri, Anda dapat menginstal binari pra-bangun dari sourceforge: sourceforge.net/projects/boost/files/boost-binaries Untuk setiap versi peningkatan, ada penginstal untuk setiap versi studio visual (di keduanya 32 dan 64 bit).
teeks99
Apa alasan untuk menggunakan arsitektur = x86 daripada arsitektur = x64 ketika melakukan pembangunan 64 bit? EDIT: Baru saja menemukan jalan yang sulit: P Anda tidak dapat mengubahnya ke 64 ...
kayleeFrye_onDeck
hei, teeks99 saya mengunjungi tautan yang diberikan tetapi untuk versi v1.4.7 saya menemukan terlalu banyak file, yang mana yang harus saya gunakan? tidak lebih baik jika ada satu file (library / dll) yang cocok untuk penggunaan semua fungsi boost?
gumuruh
2
Coba sourceforge.net/projects/boost/files/boost-binaries/... dan Anda harus dapat menemukan installer untuk 1,47.0 di sana tergantung pada apakah Anda memerlukan 32-bit atau 64-bit. Di dalam sana Anda akan menemukan banyak DLL, hanya itulah cara meningkatkan kerjanya. Namun, selama Anda mengarahkan proyek studio visual Anda ke direktori yang benar, tidak masalah berapa banyak yang ada di sana karena secara otomatis akan memilih yang benar yang diperlukan.
teeks99
20

Anda juga dapat mencoba -j% NUMBER_OF_PROCESSORS% sebagai argumen yang akan menggunakan semua inti Anda. Membuat segalanya menjadi sangat cepat pada quad core saya.

Stainback Harun
sumber
3
Ini jutaan kali .... inilah yang akhirnya saya lakukan sebagai upaya gabungan untuk VS2015: b2 -j% NUMBER_OF_PROCESSORS% toolset = msvc-14.0 --build-type = complete --libdir = C: \ Boost \ lib \ x64 architecture = x86 address-model = 64 install
kayleeFrye_onDeck
untuk powershell itu: -j "$ env: NUMBER_OF_PROCESSORS"
Oscillon
14

Saya dapat merekomendasikan trik berikut: Buat boost.propsfile khusus

  1. Buka pengelola properti
  2. Klik kanan pada simpul proyek Anda, dan pilih 'Tambahkan lembar properti proyek baru'.
  3. Pilih lokasi dan beri nama lembar properti Anda (mis. C: \ mystuff \ boost.props)
  4. Ubah folder Sertakan dan Lib tambahan ke jalur pencarian.

Prosedur ini memiliki nilai yang mendorong hanya dimasukkan dalam proyek di mana Anda ingin secara eksplisit memasukkannya. Saat Anda memiliki proyek baru yang menggunakan peningkatan, lakukan:

  1. Buka pengelola properti.
  2. Klik kanan pada simpul proyek, dan pilih 'Tambahkan lembar properti yang ada'.
  3. Pilih lembar properti boost.

EDIT (berikut edit dari @ jim-fred):

File yang dihasilkan boost.propsterlihat seperti ini ...

<?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>

Ini berisi makro pengguna untuk lokasi direktori boost (dalam hal ini, D: \ boost_1_53_0) dan dua parameter lainnya: SertakanPath dan LibraryPath. Pernyataan #include <boost/thread.hpp>akan menemukan thread.hpp di direktori yang sesuai (dalam hal ini, D: \ boost_1_53_0 \ boost \ thread.hpp). Direktori 'stage \ lib \' dapat berubah tergantung pada direktori yang diinstal.

File boost.props ini dapat ditemukan di D:\boost_1_53_0\direktori.

Uri
sumber
13

Bagian Boost apa yang Anda butuhkan? Banyak hal yang merupakan bagian dari TR1 yang dikirimkan bersama Visual Studio, jadi Anda bisa mengatakan, misalnya:

#include <tr1/memory>

using std::tr1::shared_ptr;

Menurut James, ini juga harus bekerja (dalam C ++ 0x):

#include <memory>

using std::shared_ptr;
fredoverflow
sumber
5
Di VS2010, pustaka TR1 yang menjadi bagian dari C ++ 0x semuanya telah dipindahkan ke stdnamespace, karena mereka berada dalam standar C ++ 0x. (Saya pikir mereka mungkin di std::tr1namespace juga, untuk kompatibilitas ke belakang).
James McNellis
6

Utas ini sudah ada beberapa lama, dan saya pikir saya akan menambahkan sesuatu tentang BAGAIMANA membangun Boost secepat mungkin pada perangkat keras spesifik Anda.

Jika Anda memiliki 4 atau 6-core gunakan -j5 atau -j7 masing-masing. Tentunya bukan standar build -j2 kecuali Anda memang memiliki dual core.

Saya menjalankan Sandy Bridge Extreme dengan stock clock 3930K (6-core) di stasiun utama saya, tetapi memiliki 2600k (4-core) pada kotak cadangan yang lebih lama, dan trennya adalah saya mendapatkan waktu kompilasi Boost terbaik dengan N + 1 proses membangun di mana N adalah jumlah inti fisik. N + 2 mencapai titik pengembalian menurun dan waktu naik.

Catatan: Hyperthreading diaktifkan, 32GB RAM DDR3, Samsung 840 EVO SSD.

-j7 pada 6-core (2 menit dan 51 detik) (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

-j6 pada 6-core (3 menit dan 2 detik) (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

-j8 pada 6-core (3 menit dan 17 detik) (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 dibangun di atas 6-core

Konfigurasi

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)

Saya perhatikan pembangunan 64-bit membutuhkan waktu lebih lama, saya perlu melakukan perbandingan yang sama untuk itu dan memperbarui.

codenheim
sumber
5

Juga sedikit catatan: Jika Anda ingin mengurangi waktu kompilasi, Anda dapat menambahkan bendera

-j2

untuk menjalankan dua build paralel pada saat yang sama. Ini mungkin mengurangi untuk menonton satu film;)

GaMer13
sumber
2
Menjelaskan cara menggunakan -j2akan meningkatkan nilai jawaban Anda.
ST3
5

Unduh peningkatan dari: http://www.boost.org/users/download/ misalnya oleh svn

  • Windows -> kura-kura (cara paling sederhana)

Setelah itu: cmd -> buka direktori boost ("D: \ boostTrunk" - di mana Anda checkout atau mengunduh dan mengekstrak paket): command: bootstrap

kami membuat bjam.exe di ("D: \ boostTrunk") Setelah itu: perintah: bjam toolset = msvc-10.0 varian = debug, lepaskan threading = multi tautan = statis (Ini akan memakan waktu ~ 20 menit.)

Setelah itu: Buka Visual studio 2010 -> buat proyek kosong -> buka properti proyek -> atur:

Properti proyek VS 2010

Rekatkan kode ini dan periksa apakah berfungsi?

#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;
}

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

andrew
sumber
4

Inilah cara saya dapat menggunakan Boost:

  1. Unduh dan ekstrak versi zip dari Boost libraries.
  2. Jalankan file bootstrap.bat dan kemudian jalankan bjam.exe.
  3. Tunggu kira-kira 30 menit atau lebih.
  4. Buat proyek baru di Visual Studio.
  5. Pergi ke project -> properties -> Linker -> General -> Direktori Perpustakaan Tambahan dan tambahkan boost / stage / lib ke dalamnya.
  6. Buka proyek -> properti -> C / C ++ -> Umum -> Direktori Sertakan Tambahan dan tambahkan direktori boost ke dalamnya.

Anda akan dapat membangun proyek Anda tanpa kesalahan!

Bhavesh
sumber
3

Pemasang Windows yang berada di sini berfungsi dengan baik untuk saya. Saya mengambil langkah-langkah berikut:

  1. Ikuti panduan instalasi hingga selesai.
  2. Jalankan studio visual.
  3. Buat proyek C ++ baru
  4. Buka properti proyek (dapat ditemukan dengan mengklik kanan nama proyek di explorer solusi)
  5. Di bawah "C / C ++> Umum> Direktori Sertakan Tambahan" tambahkan jalur tempat meningkatkan direktori root. Default untuk versi saya adalah C: \ local \ boost_1_63_0. Angka setelah "boost" adalah versi boost.
  6. Di properti proyek, di bawah "Linker> Direktori Perpustakaan Tambahan" tambahkan direktori untuk file perpustakaan. Default untuk versi saya adalah C: \ local \ boost_1_63_0 \ lib64-msvc-14.0. Angka setelah "lib" terkait dengan target build (32 bit atau 64 bit di Visual Studio) dan nomor setelah "msvc" terkait dengan versi Visual Studio (14.0 terkait dengan Visual Studio 2015, tapi saya menggunakannya dengan Visual Studio 2017).

Semoga berhasil!

Zoob
sumber
2

Tambahan kecil untuk jawaban utama KTC yang sangat informatif:

Jika Anda menggunakan Visual Studio c ++ 2010 Express gratis, dan berhasil membuatnya untuk mengkompilasi binari 64-bit, dan sekarang ingin menggunakannya untuk menggunakan versi 64-bit dari perpustakaan Boost, Anda mungkin berakhir dengan 32- bits libraries (jarak tempuh Anda mungkin berbeda tentu saja, tetapi pada komputer saya ini adalah kasus yang menyedihkan).

Saya bisa memperbaikinya dengan menggunakan hal berikut: di antara langkah-langkah yang dijelaskan di atas sebagai

  1. Mulai prompt perintah MSVC 32-bit dan ubah ke direktori tempat Boost tidak di-zip.
  2. Jalankan: bootstrap

Saya memasukkan panggilan ke 'setenv' untuk mengatur lingkungan. Untuk versi rilis, langkah-langkah di atas menjadi:

  1. Mulai prompt perintah MSVC 32-bit dan ubah ke direktori tempat Boost tidak di-zip.
  2. Jalankan: "C: \ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ setenv.cmd" / Release / x64
  3. Jalankan: bootstrap

Saya menemukan info ini di sini: http://boost.2283326.n4.nabble.com/64-bit-with-VS-Express-again-td3044258.html

ecotax
sumber
Apakah Anda tahu jika ini berlaku untuk Edisi Komunitas VS2015? Saya tampaknya akan berakhir dengan binari 32bit meskipun memasok "address-model = 64"
paxos1977
@ paxos1977 Maaf, saya tidak tahu - Saya belum pernah mencoba ini untuk VS2015.
ecotax
Ini jelas berlaku untuk VS 2015 Express untuk edisi Desktop, baru saja mengalaminya sendiri. Alternatif untuk setenv adalah memanggil "vcvarsall x86_amd64"
introiboad
1

Contoh minimalis untuk membantu Anda memulai di Visual Studio:

1. Unduh dan hapus zip Boost dari sini.

2. Buat proyek kosong Visual Studio, menggunakan contoh boost perpustakaan yang tidak memerlukan kompilasi terpisah:

#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;  
}  

3. Di properti proyek Visual Studio Anda, setel Direktori Sertakan Tambahan:

Properti Proyek

Untuk contoh yang sangat sederhana:

Cara Memasang Boost Libraries di Visual Studio

Jika Anda tidak ingin menggunakan seluruh pustaka boost, hanya sebagian saja:

Menggunakan subset dari boost library di Windows

Jika Anda ingin secara khusus sekarang tentang perpustakaan yang membutuhkan kompilasi:

Cara menggunakan pustaka yang dikompilasi Boost di Windows

AndyUK
sumber
0

Selain itu, ada sesuatu yang menurut saya sangat berguna. Gunakan variabel lingkungan untuk jalur peningkatan Anda. (Cara mengatur variabel lingkungan di windows, tautan di bawah untuk 7,8,10) Variabel BOOST_ROOT tampaknya menjadi tempat umum lagi dan disetel ke jalur root tempat Anda unzip boost.

Kemudian di Properties, c ++, general, Tambahan Sertakan Direktori gunakan $(BOOST_ROOT) . Kemudian jika / ketika Anda pindah ke versi yang lebih baru dari perpustakaan boost Anda dapat memperbarui variabel lingkungan Anda untuk menunjuk ke versi yang lebih baru ini. Karena semakin banyak proyek Anda, gunakan peningkatan Anda tidak perlu memperbarui 'Direktori Sertakan Tambahan' untuk semuanya.

Anda juga dapat membuat variabel BOOST_LIB dan mengarahkannya ke tempat libs dipentaskan. Demikian juga untuk Linker-> Direktori Perpustakaan Tambahan, Anda tidak perlu memperbarui proyek. Saya memiliki beberapa hal lama yang dibangun dengan vs10 dan hal-hal baru dengan vs14 sehingga membangun kedua rasa dorongan lib ke folder yang sama. Jadi jika saya memindahkan proyek dari vs10 ke vs14 saya tidak perlu mengubah jalur peningkatan.

CATATAN: Jika Anda mengubah variabel lingkungan, itu tidak akan tiba-tiba berfungsi di proyek VS terbuka. VS memuat variabel saat startup. Jadi, Anda harus menutup VS dan membukanya kembali.

Lakeweb
sumber