티스토리 뷰
이글을 작성하게된 계기는
VS2017에서 clang 컴파일러 사용시
error : illegal character encoding in string literal
오류를 경험하시는분들에게 해결책이 되지않을까 싶어서 올려봅니다
저같이 15시간정도 고통받지마세요..
아래는 오류가뜨는 사진 입니다
오류뜹니다!!
내용을 보니까 error : illegal character encoding in string literal
처음보는 오륜데 뭐지.......................... 전이때 억장이 무너졌습니다..
-----원인설명------
VS2017은 소스코드를 생성할떄 기본 인코딩 값이 UTF-16 잡힙니다.
윈도우 메모장도 파일 생성할때 기본 인코딩값이 UTF-16 입니다
VS2017에서 제공하는 MSVC 컴파일러는 UTF-16로 인코딩된 소스파일을 잘인식합니다.
허나 clang 컴파일러는 UTF-8 소스파일까지 현재 인식이 됩니다.
그래서 VS2017에서 기본생성된 UTF-16 파일로
clang 컴파일러가 컴파일 못하겠다고 버럭 화를내는겁니다!!
저는 이거땜에 매우 머리가 아팠습니다!!!!
------해결책------
이미 UTF-16로 생성된 소스파일을 UTF-8로 변환해주면 됩니다.
이건그냥 소스파일을 메모장으로 열거나 VS에서 다른이름으로 저장을 누르신후
저장 버튼 옆에 작은 화살표를 누르시면 encoding 설정하는 메뉴가 뜹니다
아무숫지도없이 유니코드 라고 써잇는건 윈도우 기본값인 UTF-16 입니다.
거기서 UTF-8 65001 눌러주시면 저장하면 됩니다.
저같이 소스코드가 1개만 변환해주면 되면 간단한데
만약 많은 양의 소스파일이 UTF-16 이라서 UTF-8 바꿔주셔야 한다면...
고인의 명복을 빕니다.....
--------VS2017 생성파일 기본인코딩값 UTF-8 로 바꿔주기----
VS2017은 기본 인코딩값이 UTF-16이니까 파일생성할때마다 UTF-8로 바꿔주면 매우 번거롭습니다.
그래서 아예 VS2017한태 앞으로 파일생성 무조건 UTF-8로 해라고 설정 하는 방법에 대해 설명하겠습니다.
우선저는 UTF-16으로 생성된 파일을 삭제하겠습니다.
프로젝트를 클릭하신후 Add 버튼을 눌러줍니다.
Utility -> TextFile 클릭하신후
파일명을 .editorconfig 로 하신후 Add 눌러줍니다
.editorconfig 옵션은
.editorconfig 파일이 포함된 하위폴더에만 적용이 됩니다
저같은경우에는 모든 파일에 적용되도록 프로젝트의 최상위 폴더에 위치 시켜뒀습니다.
위와 같은 창이뜨면
.editorconfig 파일 안에
root = true
[*]
charset = utf-8
을 입력합니다. 그러고나서
저장하기를 꼭눌러줍시다!
.editorconfig의 자세한 옵션셋팅은
https://editorconfig.org/
저기가시면 자세히 설명되있습니다.
이제 소스파일 폴더를 클릭하신다음에
main.c 파일을 하나 생성하신후
실행이 잘 됩니다!.
저같이 고생하지 마세요... 나만 몰랐던거 아니죠? ㅠㅠ
- Total
- Today
- Yesterday
- responsive slider
- css slider
- C11
- .editorconfig
- Generic()
- wxWidgets
- 도매인 가격비교
- CSS 슬라이더
- 오류
- _Generic()
- 1000 자리 계산기
- dropdown list
- #C
- HTML
- #비주얼스튜디오
- CSS
- C++
- flying bee
- gettext
- C
- slider
- xgettext
- stdarg.h
- JS
- scanf()
- scss slider
- SCSS @for
- Visual Studio 2017
- fyling fly
- 도메인 가격비교
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |