Многие сталкивались с тем что при компиляции студией Qt-проектов (и не только) Windows не хочет использовать стандартную функцию main(), а требует свои
WinMain
для GUI приложений и при использовании UNICODE, выдавая ошибки линковки вроде этих:
LNK2019: unresolved external symbol main referenced in function __tmainCRTStartup
или
error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup
На более старых версиях проблему можно было отчасти решить, задав точку входа принудительно через
/ENTRY:main
или
#pragma comment( linker, "/entry:main" )
Но сейчас такой способ больше не работает, программа будет падать при старте. Если вам не нужна поддержка WCHAR в параметрах argv, то проще всего слинковать со специальной служебной либой Qt5 для линковки с main(). Библиотека называется Qt5::WinMain:
IF (BUILD_WIN32) TARGET_LINK_LIBRARIES(${PROJECT} Qt5::WinMain) # Correct entry point ENDIF()