Visual Studio 2019용으로 libiconv 빌드하는 방법을 다룹니다.
본 포스팅에서는 Visual Studio 2019를 사용하여 진행하지만 Visual Studio 2008, 2010, 2015, 2017 용도 준비되어 있습니다.
같은 방식으로 진행하면 될듯 보입니다.
2021. 2. 9 최초작성
1. 아래 링크에 접속합니다.
https://github.com/kiyolee/libiconv-win-build
2. 오른쪽에 보이는 Releases 항목에 있는 libiconv-1.16-win-build를 클릭합니다.
3. 다운로드 받은 파일의 압축을 풀어줍니다.
4. build-VS2019 폴더에 있는 libiconv.sln을 더블 클릭하여 Visual Studio 2019를 실행합니다.
다른 버전의 Visual Studio를 사용한다면 해당 버전의 폴더에서 진행하세요.
5. 솔루션 플랫폼(Solution Platform)을 x64로 변경합니다.
6. 메뉴에서 Build > Build Solution을 선택합니다.
솔루션 설정(solution configuration)을 Release로 변경하며 진행합니다.
7. 적당한 위치에 libiconv 폴더를 생성합니다. 여기에선 C:\에 생성하고 하위 폴더로 lib와 include 폴더를 생성했습니다.
8. 다음 위치에 있는 libiconv.dll, libiconv.lib , libiconv-static.lib 파일을 C:\libiconv\lib에 복사합니다.
C:\Users\webnautes\Downloads\libiconv-win-build-1.16\build-VS2019\x64\Release
9. 다음 위치에 있는 iconv.h 파일을 C:\libiconv\include에 복사합니다.
C:\Users\webnautes\Downloads\libiconv-win-build-1.16\include
10. 테스트를 해보겠습니다. Visual Studio에서 다음 순서대로 콘솔 프로젝트를 생성합니다.
11. 다음 과정대로 진행하여 솔루션 탐색기의 소스 파일에 cpp 파일을 추가합니다.
12. cpp 파일에 다음 코드를 복사합니다.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iconv.h>
char* encoding(const char* text_input, const char* source, const char* target)
{
iconv_t it;
int input_len = strlen(text_input) + 1;
int output_len = input_len * 2;
size_t in_size = input_len;
size_t out_size = output_len;
char* output = (char*)malloc(output_len);
char* output_buf = output;
const char* input_buf = text_input;
it = iconv_open(target, source);
int ret = iconv(it, &input_buf, &in_size, &output_buf, &out_size);
iconv_close(it);
return output;
}
int main()
{
const char *text_input = "2021 한글 변환 테스트~~";
const char* utf8 = "UTF-8";
const char* cp949 = "cp949";
char* text_utf8 = encoding(text_input, cp949, utf8);
char* text_cp949 = encoding(text_utf8, utf8, cp949);
printf("cp949 : %s\n", text_input);
printf("utf8 : %s\n", text_utf8);
printf("cp949 : %s\n", text_cp949);
free(text_cp949);
free(text_utf8);
}
13. 솔루션 플랫폼을 x64로 변경합니다.
14. 솔루션 탐색기에서 프로젝트 이름이 선택된 상태에서 메뉴에서 Project > Properties를 선택합니다.
15. Configuration을 All Configurations로 변경합니다.
16. C/C++ 선택하고 Additional Include Directories에 다음 경로를 추가합니다.
C:\libiconv\include
17 Linker를 선택하고 Additional Library Directories에 다음 경로를 추가합니다.
C:\libiconv\lib
18. Linker > Input을 선택하고 libiconv.lib; 를 추가합니다.
19. 솔루션 설정을 Release와 Debug로 바꾸어가며 메뉴에서 Build > Build Solution을 선택하여 프로젝트를 빌드합니다.
20. 아래 경로에 있는 libiconv.dll 파일을 복사하여 프로젝트 빌드후 생긴 프로젝트 이름 폴더 아래에 있는 x64 폴더의 Debug와 Release 폴더에 붙여넣기 해줍니다.
C:\libiconv\lib
21. CTRL + F5를 눌러 실행시켜봅니다.
cp949 한글을 utf-8로 변환했다가 다시 cp949로 변환하여 보여줍니다.
'프로그래밍 노트 > C&C++' 카테고리의 다른 글
C++ 배열(array)과 벡터(vector) 속도 비교 (0) | 2021.03.27 |
---|---|
C++ shared_ptr 객체를 전달받은 함수에서 사용 후 해제하는 방법 (0) | 2021.02.15 |
Visual Studio 2019에서 MySQL/MariaDB C API 예제 사용하기 (2) | 2021.02.08 |
pthread 람다(lambda) 예제 (0) | 2021.01.28 |
C++ 예제 - INI 파일 생성하여 읽고 쓰기 (0) | 2021.01.24 |
시간날때마다 틈틈이 이것저것 해보며 블로그에 글을 남깁니다.
블로그의 문서는 종종 최신 버전으로 업데이트됩니다.
여유 시간이 날때 진행하는 거라 언제 진행될지는 알 수 없습니다.
영화,책, 생각등을 올리는 블로그도 운영하고 있습니다.
https://freewriting2024.tistory.com
제가 쓴 책도 한번 검토해보세요 ^^
그렇게 천천히 걸으면서도 그렇게 빨리 앞으로 나갈 수 있다는 건.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!