C++ Boost.Asio 설치

2019. 8. 12. 23:02PL/C++

[출처] https://ndb796.tistory.com/113

 

C++ Boost.Asio는 C++로 구성된 네트워크 프로그래밍 라이브러리다. '서버 클라이언트 구조'를 가지는 다양한 플랫폼에 적용할 수 있는 범용 라이브러리다. Boost.Asio를 사용하면 비동기 IO 프로그래밍을 쉽게 구현할 수 있고, 소스코드는 간결하면서 성능은 우수하다는 장점이 있다

 

1. https://www.boost.org/users/download/에 접속해서 운영체제에 맞춰서 설치

 

 

2.  zip 파일을 받은 후 압축을 푸는 경로는 C:\로 정한다

 

3. C:\boost_1_70_0\boost_1_70_0 안의 bootstrap.bat 파일을 실행시킨다

 

4. b2.exe 실행파일이 생성되는데 cmd 명령 프롬포트를 이용해서 옵션을 줘서, 이에 맞게 라이브러리 파일을 생성할 것이다

 

C:\boost_1_70_0>b2 -j4 toolset=msvc-14.0 address-model=64 variant=debug,release link=static threading=multi stage

 

C:\boost_1_70_0>b2 -j4 toolset=msvc-14.0 address-model=32 variant=debug,release link=static threading=multi stage

 

다음과 같이 vs2015를 사용하기 때문에, msvc-14.0으로 설정해서 라이브러리 파일을 생성할 것이다. vs2017을 사용한다면 msvc-14.1로 설정하면 된다

 

5. 정상적으로 라이브러리 생성이 완료되었다면 C:\boost_1_70_0\stage\lib 경로에 라이브러리 파일이 보여질 것이다

 

 

6. vs 프로젝트를 생성한 속성에 boost.asio 라이브러리를 링크한다

 

 

 

7. 프로젝트 속성이 올바르게 설정이 되었는지 가장 기본적인 boost::io_service 객체를 만들어서 5초 동안 대기 후 콘솔에 출력하는 예제를 실행시킨다

 

#include <iostream>
#include <boost/asio.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>

using namespace std;

int main(void) {
	boost::asio::io_service io;
	boost::asio::deadline_timer t(io, boost::posix_time::seconds(5));
	t.wait();

	cout << "hello world\n";
	return 0;
}

 

'PL > C++' 카테고리의 다른 글

strncpy 길이 인자로 strlen을 넣어줄 때  (0) 2019.08.13
정적 바인딩과 동적 바인딩  (0) 2019.08.12
static 정적 멤버와 상수 멤버  (0) 2019.08.12
2차원 배열에서 &a[5]와 a[5]의 차이  (0) 2019.08.12
friend 클래스  (0) 2019.08.12