본문 바로가기
배움의공간(學)/기타

curl 라이브러리 빌드 (Visual Studio 2013)

by ㅋㅕㅋㅕㅇㅣ 2023. 10. 26.

Visual Studio 2013 에서 사용하기 위한 라이브러리 빌드임

 

■ 준비 과정

 

1) 소스코드 다운로드 (curl)

    (예: curl-8.3.0)

 

2) 오픈 소스들 간의 코드 트리를 맞춰준다.  (3rd_party\curl\curl-8.3.0)

   - 3rd_party

      - openssl

         - openssl-1.1.1w_x64

         - openssl-1.1.1w_x86

     - curl

        - curl-8.3.0

 

■ 빌드 과정

 

1. Visual Studio 2013 에서 아래 경로의 프로젝트를 연다.

  => 경로: projects\Windows\VC12\curl-all.sln 

 

2. 빌드에 사용할 Configuration 은 다음과 같다. (각 Configuration 에 대해 3~4번을 수행한다.)

   - LIB Debug - LIB OpenSSL 

   - LIB Release - LIB OpenSSL

 

3. libcurl 프로젝트 속성을 열어서 헤더파일 경로를 추가해 준다.

  => $(SolutionDir)..\..\..\..\..\openssl\openssl-1.1.1w_x64\include

   ※ openssl 에서 nmake 를 수행 후 생성되는 헤더파일이 있으므로, 미리 openssl 라이브러리 빌드를 진행해야 함

 

4. runtime 설정을 변경한다. (/MDd or /MD)

   => Debug 용인 경우: C/C++> Code Generation> Runtime Library: Multi-threaded Debug DLL (/MDd)

   => Release 용인 경우: C/C++> Code Generation> Runtime Library: Multi-threaded Debug DLL (/MD)

 

   ※ 프로젝트에서 curl 라이브러리 사용 시 openssl 등의 타 라이브러리를 함께 사용하게 되는데  링크 오류가 발생하므로

      대상 프로젝트가 /MT 설정인 경우에도 위의 /MD 로 빌드한 라이브러리를 사용함

 

5. 프로젝트 빌드 (x86, x64)

 

6. 아래 경로에 라이브러리가 생성되어 있다.

  => x86 인 경우 (curl\curl-8.3.0\build\Win32\VC12)

  => x64 인 경우 (curl\curl-8.3.0\build\Win64\VC12)

 

7. 추후 다른 곳에서 사용할 수도 있으므로 위의 2번 항목의 Configuration 에 대해 /MT 용으로도 빌드한다.

   => Debug 용인 경우: C/C++> Code Generation> Runtime Library: Multi-threaded Debug (/MTd)

   => Release 용인 경우: C/C++> Code Generation> Runtime Library: Multi-threaded Debug (/MT)

댓글