MinGW에서 wWinMain을 사용하여 WinMain에 대한 정의되지 않은 참조 해결(C)
int main()을 int WINAPI wWinMain(HINSTANCE)으로 바꾸려고 할 때 hInstance, HINSTANCE, PWSTR pCmdLine, int nCmdShow) MinGW를 컴파일러로 사용하는 C 응용 프로그램에서 "WinMain에 대한 정의되지 않은 참조" 오류 메시지가 나타날 수 있습니다. 이 오류는 wWinMain 진입점을 기본적으로 지원하지 않는 Visual C와 MinGW의 CRT 시작 라이브러리 간의 불일치로 인해 발생합니다.
해결책:
MinGW 최신 버전의 경우 , 명령줄에 -municode 링커 옵션, IDE의 링커 옵션 또는 Makefile을 추가하면 wWinMain을 사용할 수 있습니다.
g++ other_options_and_arguments -municode
그러나 -municode를 지원하지 않는 이전 버전의 MinGW의 경우, 해결책은 표준 WinMain 기능을 다시 사용하는 것입니다. 이 경우 코드는 다음과 같이 수정될 수 있습니다.
<code class="c++">int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR pCmdLine, int nCmdShow)</code>
참고:
Visual C는 "lpCmdLine" 매개변수가 있는 wWinMain 진입점을 지원합니다. "LPWSTR"을 사용하면 전처리기 정의를 사용해야 하므로 복잡성이 추가되고 작업이 더 번거로울 수 있습니다. 따라서 프로그램의 특정 요구 사항이 유니코드 명령줄 사용을 요구하지 않는 한 MinGW로 작업할 때 표준 WinMain 기능을 사용하는 것이 좋습니다.
위 내용은 wWinMain을 사용할 때 MinGW C 프로젝트에서 "WinMain에 대한 정의되지 않은 참조" 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!