이전 MFC 프로그램을 수정하려고합니다. Visual Studio 2013에서 프로젝트를 연 후 아래 유형의 오류가 많이 있습니다. C2664 오류 C++ Visual Studio
#include "stdafx.h"
#include "AviPlay.h"
#define OPEN_AVI_VIDEO "open avivideo"
BOOL initAVI()
{
return mciSendString(OPEN_AVI_VIDEO, NULL, 0, NULL) == 0;
}
AviPlay.cpp
에서발생 오류가 오류 C2664은 : 'MCIERROR mciSendStringW (LPCWSTR, LPWSTR, UINT, HWND)'를 '[14] CONST 문자'로부터 인수 한 변환 할 수 없습니다 ' LPCWSTR '
Strict를 off로 설정하거나 다른 컴파일러 옵션으로 컴파일러 옵션을 설정해야합니까? 그렇지 않은 경우 수동으로 여러 줄의 코드를 수정할 수 있습니다. 이 경우, 지난 15 년 동안이 코드를 OK로 만들지 만 OK가 아닌 것은 무엇입니까?
미리 감사드립니다.
프로젝트 유형을 유니 코드가 아닌 멀티 바이트로 설정할 수는 있지만 MFC를 사용할 때 유효한 옵션인지 여부는 알 수 없습니다. –
프로젝트가 유니 코드 문자 세트로 설정되었을 수 있습니다. 이로 인해 프로그램이 멀티 바이트 버전 인 mciSendStringA가 아닌 mciSendStringW의 와이드 버전에 링크하게됩니다. – Beed
프로젝트 속성, 일반, 문자 집합에서 멀티 바이트로 설정하면 내 문제가 해결되었습니다. 고마워요! – user3931552