[curl] 윈도우 환경에서 라이브러리 빌드 및 설치

라이브러리/build2016. 1. 10. 07:00

 

※ 요약
윈도우 + Visual Studio 환경에서 curl 라이브러리를 빌드하여 설치 및 이용하는 방법이다.

curl이란 무엇인지, curl의 탄생 및 발전이 궁금하다면 이 링크에 가보기 바란다.


※ 공식 사이트

※ curl 라이브러리 빌드 방법
먼저 공식 사이트에서 소스를 다운받는다.

필자는 curl-7.46.0.zip을 다운 받았다. 

 

압축을 풀고 "curl-7.46.0\projects\Windows" 경로로 이동하면 아래와 같이 Visual Studio 버전 별로 폴더가 있는데, 원하는 버전으로 이동하면 된다. 필자는 Visual Studio 2013 버전(12.0) 으로 빌드할 것이다.

참고로 각 폴더별 버전은 아래와 같다.

VC10은 Visual Studio2010

VC11은 Visual Studio2012

VC12은 Visual Studio2013

VC14은 Visual Studio2015

VC15은 Visual Studio2017

 

VC12 폴더 하위에 있는 curl-all.sln파일을 오픈한다.

 

오픈하면 2개의 프로젝트가 존재한다.

 

필자는 정적(Static)으로 빌드할 것이다. 필요하면 당연히 DLL로 해도 된다. 

 

빌드를 하면 아래와 같이 성공이다.

 

"curl-7.46.0\build\Win32\VC12"로 이동하면 Debug와 Release폴더가 있고, 이동하면 libcurl.lib 파일이 존재한다.

 

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib"로 이동하여 컴파일된 libcurl.lib, libcurld.lib 파일을 복사한다.

꼭 libcurl.lib, libcurld.lib 2개 다 복사할 필요는 없다. 필요에 맞게 libcurl.lib만 복사해도 된다.

 

이번엔 헤더파일들을 복사할 차례다.

"curl-7.46.0\include"에 있는 curl 폴더를 "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include" 하위에 복사해준다. 그럼 curl 사용을 위한 환경 준비는 완료다.

 

잘 설치되었는지 확인하기 위해 curl 공식 사이트에 있는 예제를 컴파일 해봤고, 오류 없이 잘 컴파일 되었다.

참고로 필자는 라이브러리를 정적으로 빌드해서 소스코드에 몇몇가지를 추가했고, 그에 대해 주석을 간단히 남겼다.

 

 

※ curl 사용

빌드시 생성된 curl.exe를 "C:\Windows\System32"에 복사시키면 아래와 같이 윈도우 콘솔에서도 사용이 가능하다.

64비트 콘솔에서 필요하다면 "C:\Windows\SysWOW64"에 복사하면 된다.



작성자

Posted by 사용자 오뇽

태그

관련 글

댓글 영역

  • 프로필 사진
    질문이요
    2017.04.15 01:30

    C:\Program Files (x86)\Microsoft Visual Studio\Shared\14.0\VC 빌드후에 여기에있는 lib이랑 include에 잘 복사해서 넣었는데 curl/curl.h라는 헤더파일을 못찾는다고 오류를 내뱉네요... 무슨일일까요

  • 프로필 사진
    감사합니다
    2017.12.27 16:31

    많은 참고가 되었습니다. 정말 감사합니다.

  • 프로필 사진
    CURL_STATICLIB를 추가해줘도..
    2018.11.01 16:47

    외부 라이브러리를 추가하고 사용하는데 많은 공부가 되었습니다. 감사합니다.

    그런데 아직 여전히 curl 을 사용하지 못하고 있는데요
    전처리기 정의쪽에 CURL_STATICLIB를 추가해줘도
    _curl_easy_strerror 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다
    위와 같은 링킹 에러가 또 납니다...

    C/C++ > 일반 > 추가 포함 디렉터리에 다운로드받은 curl include 폴더를 추가해줬고.
    링커 > 일반 > 추가 라이브러리 디렉터리에 curl 빌드한 뒤 나온 libcurl.lib가 있는 경로를 추가해줬고,
    링커 > 입력 > 추가 종속성에 libcurl.lib도 추가해줬고요...

    여러 블로그들을 돌아다니면서 봤던것들을 모두 한거 같은데 여전히 링킹에러가 발생합니다.
    2017 환경에서 그러나 싶어서 2015로 해도 똑같더군요.

  • 프로필 사진
    됐습니다!
    2018.11.01 17:02

    혹시 같은 고생을 하시는분들이 있을까봐 글 남깁니다.
    본문에는 없지만 스샷에 찍힌 화면에서

    #pragma comment (lib, "wldap32.lib")
    #pragma comment (lib, "ws2_32.lib")

    요 두줄을 봐서 혹시나 해서 넣어봤는데요 빌드가 되네요!