우선 필자는 visual studio 2022 버전을 사용한다.
1.[다운로드]
curl downloads
curl.se
위 사이트를 통해 최신 버전을 다운받는다.
+) 2024.07.13 기준으로 최신버전이 8.8.0 버전이다. 하지만 8.8.0버전은 내부 파일에 솔루션 파일이 없어서
필자는 이전버전인 8.7.1버전을 사용하였다.
만일 최신버전을 압축 해제후, [curl-버전]\projects\Windows 파일이 존재하지 않으면 이전버전버전을 사용하길 바란다.
압축해제 경로는 C:\ 인 C드라이브에 바로 해제하여야 한다.
2.[빌드]
압축해제한 폴더를 열어서 C:\curl-8.7.1\projects\Windows\VC14.30 경로에 들어가서 솔루션 파일을 연다.
+) VC버전은 여러개가 존재할 수도 있다. 각자 원하는 버전을 사용하면된다. 필자는 최신버전인 vc14.30을 사용하였다.
솔루션 파일을 연다. 다음과 같은 화면이 나올것이다.
위 그림과 같이 LIB 디버그와 릴리즈를 사용할것이다.
+) DLL과 LIB의 차이는 동적/정적 라이브러리 인데 동적 라이브러리는 추가적인 작업이 필요하고,
정적 라이브러리를 사용하더라도 신경안써도 된다.
차례로 한개를 선택하고 빌드를 실행시킨다.
필자는 릴리즈모드에서 CURL라이브러리와 별개로 최적화 오류가 발생하여 디버그 모드에 관해 설명하겠다.
혹여나 릴리즈 모드를 사용을 원하더라도 마지막 추가종속성만 차이가 존재한다.
빌드 이후, 폴더를 확인 해보면
이러한 경로에 폴더가 생긴것을 알 수 있다.
3.[폴더 옮기기]
디버그 폴더에 libcurld.lib를 복사하여 [curl-버전]\lib 의 폴더에 붙여넣기를 한다.
4.[ CURL visual studio에서 사용하기]
1. 우선 curl 라이브러리를 사용하고 싶은 솔루션 파일을 연다.
2. 프로젝트 - [파일이름]속성 - C/C++ - 일반 - 추가 포함 디렉토리에 C:\curl-버전\include 를 추가한다.
3. 프로젝트 - [파일이름]속성 - C/C++ - 전처리기 - 전처리기 정의에 CURL_STATICLIB 를 추가한다.
4. 프로젝트 - [파일이름]속성 - 링커 - 일반 - 추가 라이브러리 디렉토리에 C:\curl-버전\lib 를 추가한다.
5. 프로젝트 - [파일이름]속성 - 링커 - 입력 - 추가 종속성에 libcurld.lib 를 추가한다.
+) 만일 릴리즈 모드를 사용하고 싶을땐 속성의 상단의 구성에서 릴리즈모드로 변경후 모든 과정은 동일하지만,
추가 종속성에서 d를 뺀 libcurl.lib 를 추가한다.
6. 마지막으로, main.cpp 코드에 다음과 같은 코드를 추가한다.
#define CURL_STATICLIB
#pragma comment(lib, "libcurld.lib")
#pragma comment(lib, "wldap32.lib")
#pragma comment(lib, "ws2_32.lib")
외부참조 에러를 없애주는것으로 알고있으면 된다.
이러한 과정을 거치면, 해당 파일에 CURL 라이브러리 사용이 가능하다.
마지막으로 다음 해더파일을 사용하면 에러가 표시되지않고 사용가능할것이다.
#include <curl/curl.h>
혹여나 특이점, 오류가 발생하면 댓글을 쓰면 알려드리겠습니다.
'C,C++' 카테고리의 다른 글
[백준 C++]2869번 문제 - 달팽이는 올라가고 싶다(설명 포함) (2) | 2024.11.18 |
---|---|
물체 검출하여 아두이노 트레킹 (C++) - 2부 (0) | 2024.07.13 |