static library 를 이용하여 zmq module 을 배포하면 header file 및 .a 파일 등 관리가 어려우므로 Framework 로 만들어 놓아 사용자가 하나만 import 하여 모든 파일들을 자동으로 import 할 수 있도록 만듬.
배포가 쉽다는 장점에 따라 해당 작업 진행함
개발환경 설정
zeroMQ 다운로드 링크 (https://zeromq.org/download/)에서 POSIX tarball 을 다운로드
해당 파일 압축해제
./configure 명령을 이용하여 문제발생하지 않는지 확인 (필요에 의해 프로그램 설치)
src 폴더에 들어가 "*.cpp", "*.hpp" , Makefile, "*.infiles 를 모두 삭제하면 기본적인 준비가 끝나게 됨.
해당 링크 참조(https://spin.atomicobject.com/2011/12/13/building-a-universal-framework-for-ios/) 하여 xcode project 생성 project 이름은 예시>"zeromq-framework" 와 같이 생성하고 Build Settting 에서 사용할 armv7 , i386 등의 아키텍처 추가적으로 등록
준비해둔 src 폴더와 include 폴더를 "add the sources to the existing zeromq-framework target" 옵션으로 등록함 / 프로젝트에 drag 하여도 무방
해당 프로젝트를 빌드하여 에러가 발생하지 않는지 확인
위에서 언급한 ios 관련 링크에서 설명한 것처럼 (Copy Header Files into Place 항목 확인) target name 에 "zeromq-ios" 설정하고 "copy script" 에 zmq.h/zmq.hpp/zmq_utils.h 등록, 빌드 실행
활용방법
생성된 universial framework 를 사용하고자하는 프로젝트에 drag & drop 으로 사용할 수 있음
사용하고자 하는 프로젝트의 "Build Setting" >>> "other linker flags" 에서 "-lc++" 등록필요