ZeroMQ의 라이브러리 파일은 표준 /usr/local/lib
위치에 설치되지만 brew
을 사용하여 ZeroMQ를 설치하면 심볼릭 링크가 /usr/local/Cellar/zeromq/4.2.2/lib
위치에 생성됩니다. 해당 디렉토리를 보면 libzmq.a
과 libzmq.5.dylib
이 있습니다. 이 두 파일은 모두 64 비트이며 32 비트 버전과 병합해야합니다. 당신은 자신의 웹 사이트에서 ZeroMQ를 다운로드하는 경우 다음과 같이
, 당신은 configure
스크립트를 변경할 수 있습니다
./configure CC="gcc -m32" CXX="g++ -m32" --prefix=`pwd`/i32
CC
플래그와 CXX
플래그는 32 비트 버전 (see here)에 대해 구성 스크립트를 알려줍니다. prefix
플래그는 pwd
명령을 실행하여 구성 스크립트가 현재 작업 디렉토리의 사용자 i32
디렉토리에 파일을 설치하도록 지시합니다. make && make install
평소처럼 ZeroMQ를 사용하고 ./i32/lib
디렉토리에 32 비트 라이브러리가 있어야합니다. 당신은 자신의 32 비트 특성을 반영하기 위해이 파일의 이름을 바꿀 수 있습니다 :
mv ./i32/lib/libzmq.a ./i32/lib/libzmq_i32.a
mv ./i32/lib/libzmq.5.dylib ./i32/lib/libzmq_i32.5.dylib
.a
및 .dylib
파일 모두 보편적 인 바이너리를 형성하기 위해 합병해야합니다, 당신은 here 및 here를 볼 수 있습니다. 먼저 디렉토리를 64 비트 라이브러리가있는 위치, /usr/local/lib
또는 /usr/local/Cellar/zeromq/4.2.2/lib
으로 변경하십시오. 당신은 자신의 64 비트 특성을 반영하기 위해 라이브러리 파일 이름을 바꿀 수 있습니다 : 라이브러리를 병합
mv libzmq.a libzmq_i64.a
mv libzmq.5.dylib libzmq_i64.5.dylib
는 lipo
명령을 통해 수 있습니다 : 심볼릭 링크 libzmq.dylib -> libzmq.5.dylib
은 여전히 유효 할 것
가
lipo -create zeromq-4.2.2/i32/lib/libzmq_i32.a libzmq_i64.a -output libzmq.a
lipo -create zeromq-4.2.2/i32/lib/libzmq_i32.5.dylib libzmq_i64.5.dylib -output libzmq.5.dylib
참고.
그게 전부 야!
출처
2017-11-25 20:31:13
PLG