C MinGW에서 wWinMain을 사용할 때 WinMain에 대한 정의되지 않은 참조 완화
MinGW(GCC)를 사용하여 C에서 Windows 애플리케이션을 생성하려고 할 때, 사용자가 int main() 대신 wWinMain을 활용하기로 선택한 경우 WinMain에 대한 정의되지 않은 참조가 발생할 수 있습니다. 이 오류는 MinGW의 CRT 시작 라이브러리가 wWinMain을 지원하지 않기 때문에 발생합니다.
해결책:
MinGW의 최신 버전은 -municode 링커 옵션을 제공하여 대체 시작으로 전환할 수 있도록 합니다. WinMain 대신 wWinMain의 사용을 허용하는 코드입니다. 이 옵션을 명령줄, IDE의 링커 옵션 또는 makefile에 통합하면 문제가 해결됩니다.
g++ other_options_and_arguments -municode
그러나 이전 MinGW 버전에서는 이 옵션에 대한 지원이 부족하다는 점에 주목할 필요가 있습니다. 이러한 경우 대신 WinMain을 사용하는 것이 좋습니다. 제공된 예에서 프로그램은 pCmdLine 값을 활용하지 않으므로 wWinMain을 WinMain으로 수정하고 PWSTR pCmdLine을 PSTR pCmdLine으로 수정하면 컴파일에 충분합니다.
유니코드 명령줄 처리:
나중에 유니코드 명령줄 처리가 필요한 경우 LPWSTR cmd_line = GetCommandLineW();를 사용하세요. WinMain 인수 대신
위 내용은 MinGW에서 wWinMain을 사용할 때 'WinMain에 대한 정의되지 않은 참조' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!