본문 바로가기

전체 글

(772)
산출물 관련 설정, 공유 라이브러리 [1. 개요]리눅스 기준, 빌드 결과물이 공유라이브러리 (.so) 파일에 의존하는 경우특히 boost 나 tbb 등 기본적으로 시스템에 설치 된 라이브러리가 아니라 별도 라이브러리 인 경우 프로그램 시작 시, 필요 한 공유 라이브러리를 로드 하지 못하여 실행하지 못할 수 있음.윈도우의 경우 현재 디렉터리를 기준으로 찾는 시늉(?) 이라도 하는 것 같던데,리눅스는 그렇지 않음. 여기서는 기본적으로 산출물이 공유 라이브러리를 찾는 기준을 설정하는 법을 정리한다.[2. RPATH]readelf -d "mybinary" 를 살펴 보면 RPATH 항목이 있음. 이 항목은 cmake 로 프로젝트 설정 시 -DCMAKE_SKIP_BUILD_RPATH=TRUE 로 설정하면 제거 할 수 있으나, 서비스 환경에 배포 시,..
빌드 방법 [리눅스 기준] [1. 개요]윈도우와 전체적인 맥락은 비슷 함./Configure '-Wl,-rpath,$(LIBRPATH)'# 혹은 Perl Configuremake 산출물libssl.alibcrypto.alibcrypto.so# => libcrypto.so.3libssl.so# => libssl.so.3[2. update]윈도우 설치와 같이, --prefix 와 --openssldir 을 명시하는 편이 좋음./Configure --prefix=$(pwd)/release --openssldir=$(pwd)/releasemakemake install# --prefix 와 --openssldir 에 명시한 곳에, 개발에 필요한 파일들이 위치하게 됨.
빌드 방법 [윈도우 기준] [1. 개요]빌드 환경윈도우 10Visual studio 2017 기준필요한 툴perlnasmnmakeclrcperl 은 아래 url 을 통해 다운 받도록 한다.https://strawberryperl.com/releases.htmlnasm 은 mingw 나 perl 다운 시 같이 받을 수 있다. 나머지 툴은 Visual studio 2017 설치 후,"vs 2017 용 x64 네이티브 도구 명령 프롬프트" 를 에서 동작을 확인하도록 한다.Visual studio 2015 나 2019 등을 사용하는 경우, 각 빌드에 맞는 프롬프트를 실행하도록 한다.해당 프롬프트에서 아래 작업을 진행하도록 한다. 소스코드를 아래 url 을 통해 다운 받은 후, 소스 디렉터리로 이동하도록 한다.https://github.c..