윈도우에서 간단한 테스트 코드를 작성할 때 사용할 수 있는 MinGW와 Sublime Text 3를 사용한 간단한 개발 환경 만드는 방법을 다룹니다.
EUC-KR 인코딩 때문에 프로그램 실행시 한글이 깨지는 문제 해결 방법도 다루고 있습니다.
1. MinGW 설치 2. Sublime Text 3 설치 및 설정 3. 예제 코드 실행 4. 한글 문제 해결 |
2018. 6. 18 - 최신 버전으로 테스트 및 수정
2018. 7. 2 - MinGW 설치 방법 분리
2018. 7. 23 - 한글 입출력 문제 해결 방법 추가
1. MinGW 설치
아래 링크에서 다운로드 받아 설치하세요.
https://sourceforge.net/projects/mingw-w64/
다음 포스팅을 참고하여 진행하세요.
|
2. Sublime Text 3 설치 및 설정
2-1. http://www.sublimetext.com/3 에서 Sublime Text 3을 다운로드 받아 설치합니다.
2-2. Sublime Text 3의 메뉴에서 Tools > Build System > New Build System을 선택합니다.
2-3. 다음 내용을 복사해서 붙여넣기합니다.
출처 - https://stackoverflow.com/a/27509303
g++해도 C언어도 컴파일이 잘되나.. 혹시 문제가 생기면 gcc로 변경하세요.
{ |
2-4. Ctrl + S를 누르고 cpp.sublime-build로 저장합니다.
3. 예제 코드 실행
3-1. 단축키 Ctrl + N을 누르거나 메뉴에서 File > New File를 선택하고 다음 코드를 복사해서 붙여넣습니다.
#include <iostream> |
3-2. Ctrl + S 키를 눌러서 확장자가 cpp인 파일 이름으로 저장합니다.
3-3. 메뉴에서 Tools > Build With를 선택하거나 Ctrl + Shift + B를 누릅니다.
메뉴에서 cpp를 선택하면 컴파일이 진행됩니다.
문제 없으면 창 아래쪽에 Finished 라는 메시지가 보입니다.
3-4. 다시 메뉴에서 Tools > Build With를 선택하거나 Ctrl + Shift + B를 누릅니다.
메뉴에서 cpp - Run을 선택하면 프로그램이 실행됩니다.
별도의 명령 프롬프트 창에 실행결과가 보입니다.
입력한 단어 “한글” 외에는 모두 깨져보입니다. 입력 받은 글자를 출력해주지도 못합니다.
다음 장에서 이 문제를 해결하는 방법을 소개합니다.
4. 한글 문제 해결
4-1. Ctrl + ` (왼쪽 탭키 위에 있는 키)를 누르거나 메뉴에서 View > Show Console 선택하면 하단에 콘솔창이 열립니다.
4-2. https://sublime.wbond.net/installation 에서 SUBLIME TEXT 3 탭 아래에 있는 텍스트를 드래그 후 복사합니다.
4-3. 아래 캡쳐 화면에서 보이는 빨간 사각형으로 표시한 입력창에 붙여 넣기 하고 엔터를 누릅니다.
잠시 후 콘솔창에 아래 캡쳐 화면처럼 메시지들이 보이게 됩니다.
4-4. Ctrl + Shift + P를 입력하고 입력 창에 Install을 입력하면
Package Control:Install Package가 보입니다. 이 항목을 선택합니다
4-5. 입력창에 convert 입력하면 보이는 ConvertToUTF8을 선택합니다.
설치가 완료되기를 잠시 기다립니다.
4-6. Ctrl + N을 눌러서 새로운 파일열고 다음 코드를 복사해줍니다.
#include <iostream> |
4-7. Ctrl + S를 누르고 확장자가 cpp인 파일로 저장합니다.
4-8. 메뉴에서 File > Set File Encoding to > Korean(EUC-KR)을 선택하고 Ctrl + S를 눌러 다시 저장합니다.
4-9. Ctrl + Shift + B를 눌러 다시 컴파일 및 실행을 해보면 한글 입력 및 출력이 잘되는 것을 확인할 수 있습니다.
'개발 환경 > C&C++' 카테고리의 다른 글
Visual Studio Code에서 C/C++ 프로그래밍( Windows / Ubuntu) (576) | 2021.03.04 |
---|---|
GDB를 사용한 원격 디버깅 (0) | 2021.02.28 |
Visual Studio Code에서 C/C++ 프로그래밍 with Makefile ( Windows/Ubuntu) (3) | 2020.08.01 |
Sublime Text 3와 MinGW를 사용하여 C/C++ 개발 환경 만들기 (34) | 2018.07.23 |
윈도우용 gcc, g++ 컴파일러를 사용하기 위해 MinGW 설치하는 방법 (5) | 2018.07.02 |
포스트 작성시에는 문제 없었지만 이후 문제가 생길 수 있습니다.
질문을 남겨주면 가능한 빨리 답변드립니다.
여러분의 응원으로 좋은 컨텐츠가 만들어집니다.
지금 본 내용이 도움이 되었다면 유튜브 구독 부탁드립니다.
감사합니다 ~~
유튜브 구독하기
제가 쓴 책도 한번 검토해보세요 ^^
-
-
-
-
-
-
농구곰 2019.05.02 18:09
예제를 해보다가 오류가 발생하여 질문드립니다
3-4에서 cpp-run을 한다음 'C:\Users\user\Desktop\졸작/hello.exe'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
배치 파일이 아닙니다. 이렇게 뜨면서 오류가 나는데 어떻게 해야하나요??? -
농구곰 2019.05.02 18:40
C:\Users\user/hello.exe'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
배치 파일이 아닙니다.
파일 위치를 바꿔도 이렇게 오류가 납니다 ㅠㅠ -
농구곰 2019.05.04 10:48
설정이 Automatic으로 돼있는데도 안되네요 ㅠㅠ
cpp 설정할때 이렇게 뜨는데 맞는건가요??
C:\Users\user\AppData\Local\Temp\ccyaZDeh.o:hello.cpp:(.text+0x24): undefined reference to `std::cout'
C:\Users\user\AppData\Local\Temp\ccyaZDeh.o:hello.cpp:(.text+0x29): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
C:\Users\user\AppData\Local\Temp\ccyaZDeh.o:hello.cpp:(.text+0x30): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
C:\Users\user\AppData\Local\Temp\ccyaZDeh.o:hello.cpp:(.text+0x37): undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))'
C:\Users\user\AppData\Local\Temp\ccyaZDeh.o:hello.cpp:(.text+0x4b): undefined reference to `std::cin'
C:\Users\user\AppData\Local\Temp\ccyaZDeh.o:hello.cpp:(.text+0x50): undefined reference to `std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&, char*)'
C:\Users\user\AppData\Local\Temp\ccyaZDeh.o:hello.cpp:(.text+0x5f): undefined reference to `std::cout'
C:\Users\user\AppData\Local\Temp\ccyaZDeh.o:hello.cpp:(.text+0x64): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
C:\Users\user\AppData\Local\Temp\ccyaZDeh.o:hello.cpp:(.text+0x78): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
C:\Users\user\AppData\Local\Temp\ccyaZDeh.o:hello.cpp:(.text+0x7f): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
C:\Users\user\AppData\Local\Temp\ccyaZDeh.o:hello.cpp:(.text+0x86): undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))'
C:\Users\user\AppData\Local\Temp\ccyaZDeh.o:hello.cpp:(.text+0xa6): undefined reference to `std::ios_base::Init::~Init()'
C:\Users\user\AppData\Local\Temp\ccyaZDeh.o:hello.cpp:(.text+0xc7): undefined reference to `std::ios_base::Init::Init()'
collect2.exe: error: ld returned 1 exit status
[Finished in 0.7s] -
-
농구곰 2019.05.04 11:49
질문이 많은데 답변 잘해주셔서 감사합니다.
학부 초보자인데 작품 만드려다 보니 참고를 많이 하게되어서요 ㅠㅠ
비쥬얼스튜디오에서 main.cpp를 생성후 해야한다는 건가요???
-
농구곰 2019.05.04 12:02
C:\Users\user>g++ main.cpp -o main
g++: error: main.cpp: No such file or directory
g++: fatal error: no input files
compilation terminated.
이렇게 떠서 c드라이브 user에 들어가 메모장을 main.cpp로 만들긴 했는데 작동이 안됩니다 -
농구곰 2019.05.04 13:07
C:\Users\user>g++ main.cpp -o main
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../libmingw32.a(main.o):(.text.startup+0xa0): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
main.cpp 바꾸고나서 다시 명령 프롬프트에 실행하였더니 이렇게 에러가 납니다 -
-
농구곰 2019.05.04 13:27
메모장에 아무것도 안적고 main.cpp로 c드라이브에 저장했는데
webnautes 님이 말씀한것처럼 main.cpp.txt로 돼 있어서 명령 프롬프트에 rename main.cpp.txt main.cpp를 쓰니
main.cpp파일로 저장되 있더군요 그래서 다시 g++ main.cpp -o main를 명령하니
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../libmingw32.a(main.o):(.text.startup+0xa0): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status 이런 에러가 떳습니다 -
농구곰 2019.05.04 13:31
MinGW 다시 깔고 있는데 원래 블로그에서 설명하신 설치 방법에는 MinGW - Windows 용 미니멀 GNU를 설치하라고 하셨는데
지금 알려주신 파일은 MinGW-w64 - 32 비트 및 64 비트 Window 인데 다른 파일인가요??? -
김영빈 2019.07.07 17:42
안녕하세요 sublime text3 잘 설치했습니다.
혹시 반복문(for, while 등..)을 실행하면 한번만 실행되고 종료되는 이유를 알고 계신가요?