yQuant
#development

ZeroMQ 4.2.5 소스코드 컴파일 (Windows 10)

ZeroMQ는 Publish/Subscribe, Request/Respond 등의 프로토콜을 구현하는 경량 메시징큐 라이브러리입니다. 리눅스에서는 apm이나 yum과 같은 패키지 인스톨러를 통해서 간단히 설치할 수 있지만, 윈도우에서는 최신 버전이 바이너리로 제공되지 않기 때문에 직접 소스코드를 컴파일해야 합니다.

#준비

#ZeroMQ 다운로드

GitHub에서 최신 버전의 zip 파일을 받아 임의 폴더에 임시로 압축을 해지합니다. 여기서는 C:\zeromq-4.2.5 폴더로 가정한다.

#CMake 설치

CMake 최신 버전의 x64 인스톨러를 받아 설치합니다. CMake는 과거 Makefile이 갖는 복잡하고 번거로운 절차를 줄여주는 것이 주된 기능인데, 여기서는 단일한 소스코드를 여러가지 플랫폼에서 컴파일하게 도와주는 역할을 합니다.

#Visual Studio Community 2017 설치

Visual Studio Community 2017는 개인 개발자라면 무료로 설치할 수 있습니다. 1메가 정도의 인스톨러를 받으면, 셀 수 없이 많은 패키지들을 선택해 설치를 진행하게 되는데 Workloads - Windows - Desktop development 선택 후 아래 3개의 패키지만 남기고 나머지는 제거해도 무방합니다.

  • VC++ 2017 version 15.7
  • Windows 10 SDK
  • Visual C++ tools for CMake

#컴파일

#CMake로 컴파일 준비하기

앞서 소스코드의 압축을 해제해 놓은 C:\zeromq-4.2.5 디렉토리에서 아래의 명령어를 실행하면 build 디렉토리에 ZeroMQ.sln 파일을 비롯한 Visual Studio 솔루션 파일이 생깁니다.

cd C:\zeromq-4.2.5
md build
cmake -H. -Bbuild -G"Visual Studio 15 2017 Win64" -DENABLE_CURVE=OFF \
	-DZMQ_BUILD_TESTS=OFF -DCMAKE_SYSTEM_VERSION=10.0 \
	-DWITH_PERF_TOOL=OFF -DENABLE_CPACK=OFF -DCMAKE_BUILD_TYPE=Release

#Visual Studio 2017로 컴파일하기

ZeroMQ.sln 파일을 실행해 Visual Studio 2017의 솔루션 창에서 INSTALL 항목을 빌드합니다. Release, Debug 각각 빌드하면 C:\Program Files\ZeroMQ 폴더에 .dll 파일은 물론 .h 파일과 .lib 파일이 설치됩니다. 참고로 파일명 중간에 gd 키워드가 들어간 것이 Debug로 컴파일된 바이너리입니다.

C:\Program Files\ZeroMQ>tree
├───bin			// libzmq-v141-mt-4_2_5.dll ...
├───include		// zmq.h zmq_utils.h
└───lib			// libzmq-v141-mt-4_2_5.lib ...

#결론

ZeroMQ는 Apache Kafka와 같이 별도의 독립된 메시지 Broker가 서버의 형태로 동작하지 않습니다. ZeroMQ는 말그대로 Brokerless 메시징큐이며, ZeroMQ를 사용한다는 것은 곧 .dll (또는 .lib) 파일 형태로 라이브러리를 활용한다는 것입니다. 이제 컴파일한 라이브러리로 개발에 활용할 차례입니다.

Share this post