C3688 잘못된 리터럴 접두사 'X'입니다. 리터럴 연산자 또는 리터럴 연산자 템플릿 '연산자 ""X'을(를) 찾을 수 없습니다.

비주얼 스튜디오 2008에서 2015로 마이그레이션 중 아래와 같은 에러가 있었습니다.

C3688 잘못된 리터럴 접두사 'X'입니다. 리터럴 연산자 또는 리터럴 연산자 템플릿 '연산자 ""X'을(를) 찾을 수 없습니다.
오류(활성) 사용자 정의 리터럴 연산자가 없습니다.
C2664 'int sprintf(char *const ,const char *const ,...)': 인수 2을(를) 'std::size_t'에서 'const char *const '(으)로 변환할 수 없습니다.

sprintf(sname, "Sheet"X, sheetNo++);

이런 코드에서 발생했는데 X는 아래와 같은 디파인 정의 된 놈이었습니다.

#elif _MSC_VER>=1400 // VS 2005
#define X  "%Iu"

아래와 같이 직접 수정 적용해줬습니다.

sprintf(sname, "Sheet%Iu", sheetNo++);

이 블로그의 인기 게시물

CMake Windows에 설치하기

Unity3D Prime31 처럼 자신만의 안드로이드 플러그인을 만들어보자

Unity3D iOS Plugin 만들어 연동하기