vs2015에서 cpprestsdk 2.10.6 사용하기(Static/MD)
vs2015를 지원하는 cpprestsdk의 마지막 버전은 2.10.6이다.
이후 버전은 release 파일에 솔루션 파일이 없기 때문에 cmake로 직접 빌드해야 하며, 최소 vs2017 이상이 필요하다. 그런데, vs2017을 쓸 수 있는 환경이라면 Nuget
이나 vcpkg
로 설치하는 게 낫다.
(vcpkg에서 의존성 기술에 대한 문제점도 참고하자.)
2.10.6 release 파일은 cpprestsdk github 페이지에서 내려 받을 수 있다.
여기서 하려는 건, static 빌드, 그러니까 lib으로 빌드하되, 런타임 라이브러리는 /MD
로 설정하는 경우다.
-
cpprestsdk-2.10.6.zip 압축을 푼 후, 런타임 라이브러리를 조정한다.
-
전처리기 정의
에_NO_ASYNCRTIMP
를 추가해준다. -
cpprestsdk를 사용할 target dll의
전처리기 정의
에도_NO_ASYNCRTIMP
를 추가한다. - 다음으로, target dll의
추가 종속성
에 다음 라이브러리들을 입력한다.zlibstatic.lib;ssleay32.lib;libeay32.lib;bcrypt.lib;crypt32.lib;winhttp.lib;libcpprest140_2_10.lib
cpprestsdk
하위의pacakges
폴더에서,추가 종속성
에 입력한 라이브러리들을 가져와 필요한 위치에 복사한다.packages
폴더 하위에는, 아래와 같이cpprestsdk
의 의존성 모듈에 대한 빌드 바이너리가 포함되어 있다.
빌드가 끝나면 target dll을 Dependency Viewer
에서 봤을 때, cpprest140_2_10.dll이 표시되지 않는지 확인한다.
참고
How to statically link cpprest without dll files in VS project?