빌드
-
libmongoc 소스 코드 빌드C and C++ 2020. 2. 20. 20:57
프로젝트에서 MongoDB를 사용해 보기로 했다. 아무래도 근래 제일 점유율이 높은 대세이기도 하고, 무엇보다 C로 되어있는 점이 가장 마음에 들었다. MongoDB 사용을 위해서는 먼저 MonngoDB 서버가 어딘가에 설치되어야 하고, 여기에 접근하기 위한 플랫폼별 클라이언트 Driver를 통해 서버에 접속하게 된다. 헷갈리는 용어 덕분에 처음엔 Native 단의 Device Driver를 제공하는 것으로 착각했다. 알고보니 그냥 플랫폼별로 빌드된 라이브러리였다. 다음 페이지에서 플랫폼별 드라이버를 확인할 수 있다. https://docs.mongodb.com/ecosystem/drivers/ 서버 설치 먼저 MongoDB의 서버는 플랫폼 별로 설치 가이드가 잘 나와 있었다. 우분투의 경우 다음 페이지..
-
리눅스 gcc 빌드시 Undefined reference to dlopen 에러C and C++ 2019. 11. 18. 13:37
static Library를 포함하는 타겟 바이너리를 빌드하는 중에 황당한 에러를 만났다. ~/xxxlib.so: Undefined reference to 'dlsym' ~/xxxlib.so: undefined reference to `dlsym' ~/xxxlib.so: undefined reference to `dlerror' ~/xxxlib.so: undefined reference to `dlopen' ~/xxxlib.so: undefined reference to `dlclose' 링크에 실패한 dlxxx 함수는 다이나믹 라이브러리를 런타임에 사용하기 위한 함수이다. (참조) 기억을 더음으며 소스코드를 살펴보니 빌드시 포함시킨 static library 중 하나에 dl계열 함수가 들어있었다. gc..