Visual Studio 2010에서 Boost를 사용하는 방법


답변:


512

Nate의 대답 은 이미 훌륭 하지만 요청에 따라 Visual Studio 2010에 대해 더 구체적으로 확장하고 외부 라이브러리가 필요한 다양한 선택적 구성 요소에서 컴파일하는 방법에 대한 정보를 포함시킬 것입니다.

헤더 전용 라이브러리를 사용하는 경우 부스트 다운로드를 아카이브 해제하고 환경 변수를 설정하기 만하면됩니다. 아래 지침은 Visual Studio에 대해서만 환경 변수를 설정하며 전체 시스템에는 적용되지 않습니다. 한 번만 수행하면됩니다.

  1. 선택한 디렉토리 (예 :)에 최신 버전의 부스트 (문서 작성시 1.47.0)를 보관 취소합니다 C:\boost_1_47_0.
  2. Visual Studio에서 빈 프로젝트를 새로 만듭니다.
  3. 속성 관리자를 열고 선택한 플랫폼에 대한 구성 중 하나를 확장하십시오.
  4. 을 (를) 선택하고 마우스 오른쪽 단추로 클릭 Microsoft.Cpp.<Platform>.user하고을 선택 Properties하여 편집 할 속성 페이지를 엽니 다.
  5. VC++ Directories왼쪽에서 선택하십시오 .
  6. Include Directories부스트 소스 파일의 경로를 포함 하도록 섹션을 편집하십시오 .
  7. 필요한 경우 선택한 다른 플랫폼에 대해 3-6 단계를 반복하십시오.

빌드가 필요한 부스트 부분을 사용하고 있지만 외부 종속성이 필요하지 않은 기능을 사용하지 않으려면 매우 간단합니다.

  1. 선택한 디렉토리 (예 :)에 최신 버전의 부스트 (문서 작성시 1.47.0)를 보관 취소합니다 C:\boost_1_47_0.
  2. 선택한 플랫폼에 대한 Visual Studio 명령 프롬프트를 시작하고 부스트 위치로 이동하십시오.
  3. 실행 : bootstrap.batb2.exe (이전의 이름은 bjam)를 빌드합니다.
  4. 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

산책하러 가거나 영화를 보거나 2 / ....

  1. 환경 변수를 설정하려면 위의 명령어 세트에서 2-6 단계를 수행하십시오.
  2. Library Directories부스트 라이브러리 출력 경로를 포함 하도록 섹션을 편집하십시오 . (위의 예제와 지침의 기본값은입니다 C:\boost_1_47_0\stage\lib. x86 & x64를 나란히 (예 : <BOOST_PATH>\lib\x86& <BOOST_PATH>\lib\x64) 사용 하려면 디렉토리 이름을 바꾸고 먼저 디렉토리를 이동하십시오 .
  3. 필요한 경우 선택한 다른 플랫폼에 대해 2-6 단계를 반복하십시오.

선택적 구성 요소를 원하면 더 많은 작업이 필요합니다. 이것들은:

  • Boost.IOStreams Bzip2 필터
  • Boost.IOStreams Zlib 필터
  • Boost.MPI
  • 부스트. 파이썬
  • Boost.Regex ICU 지원

Boost.IOStreams Bzip2 필터 :

  1. 최신 버전의 bzip2 라이브러리 (작성 당시 1.0.6) 소스 파일을 선택한 디렉토리 (예 :)에 보관하십시오 C:\bzip2-1.0.6.
  2. 위의 두 번째 지침을 따라 부스트를 빌드하되 -sBZIP2_SOURCE="C:\bzip2-1.0.6"5 단계에서 b2를 실행할 때 옵션을 추가하십시오 .

Boost.IOStreams Zlib 필터

  1. 최신 버전의 zlib 라이브러리 (1.2.5 작성 시점) 소스 파일을 선택한 디렉토리 (예 :)에 보관하십시오 C:\zlib-1.2.5.
  2. 위의 두 번째 지침을 따라 부스트를 빌드하되 -sZLIB_SOURCE="C:\zlib-1.2.5"5 단계에서 b2를 실행할 때 옵션을 추가하십시오 .

Boost.MPI

  1. Microsoft Compute Cluster Pack과 같은 MPI 배포를 설치하십시오.
  2. 위의 두 번째 지침 세트에서 1-3 단계를 수행하여 부스트를 빌드하십시오.
  3. 부트 스트랩 실행 결과 project-config.jam디렉토리 에서 파일 을 편집하십시오 <BOOST_PATH>. 읽은 줄을 추가하십시오 using mpi ;( ';'앞의 공백에 유의하십시오).
  4. 위의 두 번째 지침 세트의 나머지 단계를 따라 부스트를 빌드하십시오. MPI 설치 자동 감지에 실패하면 적절한 빌드 파일을 찾아서 수정하여 올바른 위치에서 MPI를 찾으십시오.

부스트. 파이썬

  1. ActiveState의 ActivePython과 같은 Python 배포를 설치하십시오. Python 설치가 PATH에 있는지 확인하십시오.
  2. 라이브러리의 32 비트 버전을 완전히 빌드하려면 32 비트 Python이 필요하며 64 비트 버전도 비슷합니다. 이러한 이유로 여러 버전을 설치 한 경우 b2에게 특정 버전을 찾을 수있는 위치와 사용시기를 알려 주어야합니다. 이를 수행하는 한 가지 방법은 부트 스트랩 실행 결과 project-config.jam디렉토리 에서 파일을 편집하는 것 <BOOST_PATH>입니다. 다음 두 줄을 파이썬 설치 경로 및 버전에 맞게 조정하십시오 ( ';'앞의 공백에 유의하십시오).

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

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

    이러한 명시적인 Python 사양은 현재 MPI 빌드에 실패합니다. 따라서 MPI를 구축하는 경우 모든 것을 구축하려면 사양이 있거나없는 별도의 건물을 수행해야합니다.

  3. 위의 두 번째 지침을 따라 부스트를 빌드하십시오.

Boost.Regex ICU 지원

  1. 최신 버전의 ICU4C 라이브러리 (4.8 작성 시점) 소스 파일을 선택한 디렉토리 (예 :)에 보관하십시오 C:\icu4c-4_8.
  2. 에서 Visual Studio 솔루션을 엽니 다 <ICU_PATH>\source\allinone.
  3. 선택한 플랫폼에 대한 디버그 및 릴리스 구성을 위해 모두 빌드하십시오. 디버그 및 릴리스 빌드 모두의 출력이 동일한 디렉토리 (기본 동작)에있을 때 Visual Studio 2010으로 최신 릴리스의 ICU4C를 빌드 하는 데 문제 가있을 수 있습니다 . 가능한 해결 방법은 모두 빌드 (디버그 빌드라고 함)를 수행 한 다음 두 번째 구성 (예 : 릴리스 빌드)에서 모두 다시 빌드를 수행하는 것입니다.
  4. x64 용으로 빌드하는 경우 빌드중인 64 비트 응용 프로그램 중 일부를 실행하는 빌드 후 단계가 있으므로 x64 OS를 실행해야합니다.
  5. 완료되면 소스 디렉토리를 제거하십시오 (선택 사항).
  6. 위의 두 번째 지침을 따라 부스트를 빌드하되 -sICU_PATH="C:\icu4c-4_8"5 단계에서 b2를 실행할 때 옵션을 추가하십시오 .

@Sorin : 왜 그걸 바꿔야합니까?
jalf

6
속성 시트를 보려면 도구> 설정> 전문가 모드를 선택해야합니다. 마침내 이것을 찾아 내기 위해 인터넷 검색을 했어요.
Zack The Human

@KTC : 도구> 설정 메뉴에서 실제로 사용할 수있는 "전문가 설정"입니다. VSC ++ 2010 Express Edition을 실행 중이며 "전문가 설정"을 활성화하지 않으면 속성 시트를 볼 수 없습니다.
Zack The Human

11
x64와 win32를 나란히 원하는 경우 각 빌드에 "--stagedir = lib / win32"및 "--stagedir = lib / x64"를 추가하십시오.
M. Tibbits

3
Visual Studio 2010의 부스트를 빌드하고 구성하는 방법에 대한 비디오 자습서의 경우 youtube.com/watch?v=5AmwIwedTCM
Christophe

158

Boost 웹 사이트 의 지침 이 도움이되지만 x64 라이브러리를 빌드하는 압축 버전이 있습니다.

  • 지침 페이지의 섹션 3 에 언급 된 라이브러리 중 하나를 사용하는 경우에만이 작업을 수행하면됩니다 . 예를 들어 Boost.Filesystem을 사용하려면 컴파일이 필요합니다. 그 중 하나를 사용하지 않는 경우 압축을 풀고 이동하십시오.

32 비트 라이브러리 구축

그러면 아래에 Boost 헤더 파일이 설치되고 아래 C:\Boost\include\boost-(version)에 32 비트 라이브러리가 설치됩니다 C:\Boost\lib\i386. 라이브러리의 기본 위치 는 여러 아키텍처에 대해 빌드하려는 경우 디렉토리 C:\Boost\lib아래에 배치하는 것 i386입니다.

  1. Boost를 새 디렉토리에 압축 해제하십시오.
  2. 32 비트 MSVC 명령 프롬프트를 시작하고 Boost가 압축 해제 된 디렉토리로 변경하십시오.
  3. 운영: bootstrap
  4. 운영: b2 toolset=msvc-12.0 --build-type=complete --libdir=C:\Boost\lib\i386 install

    • Visual Studio 2012의 경우 toolset=msvc-11.0
    • Visual Studio 2010의 경우 toolset=msvc-10.0
    • Visual Studio 2017의 경우 toolset=msvc-14.1
  5. C:\Boost\include\boost-(version)포함 경로에 추가 하십시오.

  6. C:\Boost\lib\i386libs 경로에 추가 하십시오.

64 비트 라이브러리 구축

그러면 아래에 Boost 헤더 파일이 설치되고 아래 C:\Boost\include\boost-(version)에 64 비트 라이브러리가 설치됩니다 C:\Boost\lib\x64. 라이브러리의 기본 위치 는 여러 아키텍처에 대해 빌드하려는 경우 디렉토리 C:\Boost\lib아래에 배치하는 것 x64입니다.

  1. Boost를 새 디렉토리에 압축 해제하십시오.
  2. 64 비트 MSVC 명령 프롬프트를 시작하고 Boost가 압축 해제 된 디렉토리로 변경하십시오.
  3. 운영: bootstrap
  4. 운영: b2 toolset=msvc-12.0 --build-type=complete --libdir=C:\Boost\lib\x64 architecture=x86 address-model=64 install
    • Visual Studio 2012의 경우 toolset=msvc-11.0
    • Visual Studio 2010의 경우 toolset=msvc-10.0
  5. C:\Boost\include\boost-(version)포함 경로에 추가 하십시오.
  6. C:\Boost\lib\x64libs 경로에 추가 하십시오.

24
당신이 그들에게 자신을 구축하지 않으려면 미리 만들어진 소스 포지에서 바이너리를 설치할 수 있습니다 sourceforge.net/projects/boost/files/boost-binaries을 부스트의 각 버전의 경우, 각 비주얼 스튜디오 버전 설치 (에있다 32 및 64 비트 모두).
teeks99

64 비트 빌드를 수행 할 때 architecture = x64 대신 architecture = x86을 사용하는 이유는 무엇입니까? 편집 : 그냥 어려운 방법을 발견 : P 64로 전환 할 수 없습니다 ...
kayleeFrye_onDeck

안녕하세요, @ teeks99 나는 당신의 링크를 방문했지만 v1.4.7 버전의 경우 너무 많은 파일을 찾았습니다. 어쨌든 사용해야합니까? 모든 부스트의 기능 사용에 적합한 단일 파일 (라이브러리 / dll)이 있으면 더 좋지 않습니까?
gumuruh

2
sourceforge.net/projects/boost/files/boost-binaries/…를 시도해보십시오. 32 비트 또는 64 비트가 필요한지 여부에 따라 1.47.0 용 설치 프로그램을 찾을 수 있습니다. 내부에는 많은 DLL이 있으며 부스트가 작동하는 방식입니다. 그러나 Visual Studio 프로젝트를 올바른 디렉토리로 지정하면 필요한 디렉토리가 자동으로 선택되므로 몇 개의 프로젝트가 있는지는 중요하지 않습니다.
teeks99

20

-j % NUMBER_OF_PROCESSORS %를 모든 코어를 사용하는 인수로 시도 할 수도 있습니다. 쿼드 코어에서 일을 빠르게 처리합니다.


3
이것은 백만 번입니다 .... 이것은 결국 VS2015에 대한 결합 된 노력으로 수행 한 것입니다 .b2 -j % NUMBER_OF_PROCESSORS % toolset = msvc-14.0 --build-type = complete --libdir = C : \ Boost \ lib \ x64 아키텍처 = x86 address-model = 64 설치
kayleeFrye_onDeck

powershell의 경우 : -j "$ env : NUMBER_OF_PROCESSORS"
Oscillon

14

다음 트릭을 추천 할 수 있습니다 : 특수 boost.props파일 만들기

  1. 속성 관리자를 엽니 다
  2. 프로젝트 노드를 마우스 오른쪽 버튼으로 클릭하고 '새 프로젝트 속성 시트 추가'를 선택하십시오.
  3. 위치를 선택하고 속성 시트 이름을 지정하십시오 (예 : c : \ mystuff \ boost.props)
  4. 추가 Include 및 Lib 폴더를 검색 경로로 수정하십시오.

이 절차에는 boost가 명시 적으로 포함하려는 프로젝트에만 boost가 포함되어 있습니다. boost를 사용하는 새 프로젝트가 있으면 다음을 수행하십시오.

  1. 속성 관리자를 엽니 다.
  2. 프로젝트 노드를 마우스 오른쪽 버튼으로 클릭하고 '기존 속성 시트 추가'를 선택하십시오.
  3. 부스트 속성 시트를 선택하십시오.

편집 (@ jim-fred에서 편집 한 후) :

결과 boost.props파일은 다음과 같습니다.

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

부스트 디렉토리 (이 경우 D : \ boost_1_53_0)의 위치에 대한 사용자 매크로와 IncludePath 및 LibraryPath의 두 가지 다른 매개 변수가 포함됩니다. 명령문 #include <boost/thread.hpp>은 적절한 디렉토리에서 thread.hpp를 찾습니다 (이 경우 D : \ boost_1_53_0 \ boost \ thread.hpp). 'stage \ lib \'디렉토리는 설치된 디렉토리에 따라 변경 될 수 있습니다.

이 boost.props 파일은 D:\boost_1_53_0\디렉토리 에있을 수 있습니다 .


13

Boost의 어떤 부분이 필요합니까? 많은 것들이 Visual Studio와 함께 제공되는 TR1의 일부이므로 다음과 같이 간단히 말할 수 있습니다.

#include <tr1/memory>

using std::tr1::shared_ptr;

James에 따르면, 이것은 (C ++ 0x에서) 작동해야합니다.

#include <memory>

using std::shared_ptr;

5
VS2010에서 C ++ 0x의 일부가되는 TR1 라이브러리는 모두 stdC ++ 0x 표준과 마찬가지로 네임 스페이스 로 이동되었습니다 . ( std::tr1이전 버전과의 호환성을 위해 네임 스페이스 에 있다고 생각합니다 ).
James McNellis

6

이 스레드는 오래 전부터 사용되었으며 특정 하드웨어에서 가능한 한 빨리 Boost를 빌드하는 방법에 대해 뭔가 추가 할 것이라고 생각했습니다.

4 코어 또는 6 코어가있는 경우 각각 -j5 또는 -j7을 사용하십시오. 실제로 듀얼 코어가 없으면 표준 빌드 나 -j2가 아닙니다.

메인 스테이션에서 재고가 3930K (6 코어) 인 Sandy Bridge Extreme을 실행하고 있지만 이전 백업 상자에 2600k (4 코어)가 있으며, 추세는 N +로 최고의 Boost 컴파일 시간을 얻는 것입니다. 여기서 N은 물리적 코어의 수입니다. N + 2는 수익이 감소하는 시점에 도달하고 시간이 증가합니다.

참고 : 하이퍼 스레딩, 32GB RAM DDR3, Samsung 840 EVO SSD가 활성화되었습니다.

6 코어의 -j7 (2 분 51 초) (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 코어의 -j6 (3 분 2 초) (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 코어의 -j8 (3 분 17 초) (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

6 코어의 -j7 빌드

구성

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 비트 빌드는 시간이 조금 더 걸린다는 점에 유의하십시오. 그들과 동일한 비교를 수행하고 업데이트해야합니다.


5

또한 약간의 참고 사항 : 컴파일 시간을 줄이려면 플래그를 추가 할 수 있습니다

-j2

동시에 두 개의 병렬 빌드를 실행합니다. 이것은 하나의 영화를 보는 것으로 줄일 수 있습니다.)


2
사용법을 설명 -j2하면 답의 가치가 높아집니다.
ST3

5

http://www.boost.org/users/download/ 에서 부스트 다운로드 : 예 : svn

  • Windows-> 거북이 (가장 간단한 방법)

그 후 : cmd-> 부스트 디렉토리로 이동하십시오 ( "D : \ boostTrunk"-패키지를 체크 아웃하거나 다운로드 및 추출하십시오) : command : bootstrap

우리는 ( "D : \ boostTrunk")에 bjam.exe를 만들었습니다. 그 후 : command : bjam toolset = msvc-10.0 variant = debug, release threading = multi link = static (약 20 분 정도 소요됩니다.)

그 후 : Visual Studio 2010 열기-> 빈 프로젝트 만들기-> 프로젝트 속성으로 이동-> 설정 :

프로젝트 속성 VS 2010

이 코드를 붙여 넣고 작동하는지 확인하십시오.

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

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


4

다음은 Boost를 사용하는 방법입니다.

  1. Boost 라이브러리의 zip 버전을 다운로드하여 추출하십시오.
  2. bootstrap.bat 파일을 실행 한 다음 bjam.exe를 실행하십시오.
  3. 약 30 분 정도 기다리십시오.
  4. Visual Studio에서 새 프로젝트를 만듭니다.
  5. 이동 프로젝트 -> 속성 -> 링커 -> 일반 -> 추가 라이브러리 디렉토리 및 추가 부스트 / 무대 / lib에 그것에 디렉토리.
  6. 이동 프로젝트 -> 속성 -> C / C ++ -> 일반 -> 추가 포함 디렉터리 및 추가 부스트 그것에 디렉토리.

오류없이 프로젝트를 빌드 할 수 있습니다!


3

여기에 있는 Windows 설치 프로그램이 완벽하게 작동했습니다. 다음 단계를 수행했습니다.

  1. 완료 될 때까지 설치 마법사를 따르십시오.
  2. Visual Studio를 실행하십시오.
  3. 새로운 C ++ 프로젝트 만들기
  4. 프로젝트 속성 열기 (솔루션 탐색기에서 프로젝트 이름을 마우스 오른쪽 버튼으로 클릭하여 찾을 수 있음)
  5. "C / C ++> 일반> 추가 포함 디렉토리"에서 boost root 디렉토리의 경로를 추가하십시오. 내 버전의 기본값은 C : \ local \ boost_1_63_0입니다. "boost"뒤의 숫자는 boost의 버전입니다.
  6. 프로젝트 속성의 "링커> 추가 라이브러리 디렉토리"에서 라이브러리 파일의 디렉토리를 추가하십시오. 내 버전의 기본값은 C : \ local \ boost_1_63_0 \ lib64-msvc-14.0입니다. "lib"뒤의 숫자는 빌드 대상 (Visual Studio에서 32 비트 또는 64 비트)과 관련이 있고 "msvc"뒤의 숫자는 Visual Studio 버전과 관련이 있습니다 (14.0은 Visual Studio 2015와 관련이 있지만 저는 2017 Visual Studio에서 사용).

행운을 빕니다!


2

KTC의 매우 유익한 주요 답변에 대한 간단한 추가 사항 :

무료 Visual Studio c ++ 2010 Express를 사용하고 64 비트 바이너리를 컴파일하고 64 비트 버전의 Boost 라이브러리를 사용하려면 32 비트로 끝납니다. 비트 라이브러리 (마일리지는 물론 다를 수 있지만 내 컴퓨터에서는 슬픈 경우입니다).

다음을 사용하여이 문제를 해결할 수 있습니다.

  1. 32 비트 MSVC 명령 프롬프트를 시작하고 Boost가 압축 해제 된 디렉토리로 변경하십시오.
  2. 실행 : 부트 스트랩

환경을 설정하기 위해 'setenv'에 대한 호출을 삽입했습니다. 릴리스 빌드의 경우 위 단계는 다음과 같습니다.

  1. 32 비트 MSVC 명령 프롬프트를 시작하고 Boost가 압축 해제 된 디렉토리로 변경하십시오.
  2. "C : \ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Bin \ setenv.cmd"/ Release / x64를 실행합니다.
  3. 실행 : 부트 스트랩

나는이 정보를 여기에서 발견했다 : http://boost.2283326.n4.nabble.com/64-bit-with-VS-Express-again-td3044258.html


이것이 VS2015의 Community Edition에 적용되는지 알고 있습니까? "address-model = 64"공급에도 불구하고 32 비트 바이너리로 끝나는 것 같습니다.
paxos1977

@ paxos1977 죄송합니다, 모르겠습니다-VS2015에서 직접 시도하지 않았습니다.
ecotax

VS 2015 Express for Desktop 버전에 적용되며 방금 경험했습니다. setenv의 대안은 "vcvarsall x86_amd64"를 호출하는 것입니다.
introiboad

1

Visual Studio에서 시작할 수있는 최소한의 예 :

1. 다운로드 여기에서 Boost를 하고 압축을 풉니 다.

별도의 컴파일이 필요하지 않은 예제 부스트 라이브러리를 사용하여 Visual Studio 빈 프로젝트를 만듭니다.

#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. Visual Studio 프로젝트 속성에서 추가 포함 디렉토리를 설정하십시오.

프로젝트 속성

매우 간단한 예를 들면 다음과 같습니다.

Visual Studio에서 Boost 라이브러리를 설치하는 방법

전체 부스트 라이브러리를 사용하지 않으려면 하위 집합 만 사용하십시오.

Windows에서 부스트 라이브러리의 서브 세트 사용

컴파일이 필요한 라이브러리에 대해 구체적으로 알고 싶은 경우 :

Windows에서 Boost 컴파일 라이브러리를 사용하는 방법


0

또한, 내가 매우 유용하다고 생각하는 것이 있습니다. 부스트 경로에 환경 변수를 사용하십시오. (창에서 환경 변수를 설정하는 방법, 7,8,10의 하단에 링크) BOOST_ROOT 변수는 더 이상 일반적인 것으로 보이며 압축을 풀 때 루트 경로로 설정됩니다.

그런 다음 속성, c ++, 일반에서 추가 포함 디렉토리 사용 $(BOOST_ROOT) 됩니다. 그런 다음 최신 버전의 부스트 라이브러리로 옮길 때이 새로운 버전을 가리 키도록 환경 변수를 업데이트 할 수 있습니다. 프로젝트가 많을수록 향상을 사용하면 모든 프로젝트에 대해 '추가 포함 디렉토리'를 업데이트 할 필요가 없습니다.

BOOST_LIB 변수를 작성하여 라이브러리가 스테이징되는 위치를 가리킬 수도 있습니다. 따라서 링커-> 추가 라이브러리 디렉토리의 경우 프로젝트를 업데이트 할 필요가 없습니다. vs10으로 작성된 오래된 것들과 vs14로 새로운 것들이 있으므로 boost lib의 두 가지 특징을 동일한 폴더에 구축했습니다. 따라서 프로젝트를 vs10에서 vs14로 옮기면 부스트 경로를 변경할 필요가 없습니다.

참고 : 환경 변수를 변경하면 열린 VS 프로젝트에서 갑자기 작동하지 않습니다. VS는 시작시 변수를로드합니다. 따라서 VS를 닫았다가 다시 열어야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.