반응형

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로 변환하여 보여줍니다.

 

 

 

반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.

도움이 되셨다면 토스아이디로 후원해주세요.
https://toss.me/momo2024


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts