error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup

При попытке скомпилировать консольное приложение (не-GUI) в MS Visual Studio иногда выскакивает ошибка

error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup

Вылечить сей недуг можно следующим образом:
1. Идем в Project Properties -> Linker -> System и устанавливаем свойство SubSystem в Console (/SUBSYSTEM:CONSOLE)

2. Переходим в Project Properties -> Configuration Properties -> Linker -> Advanced и вставляем в свойстве Entry Point имя main-функции (для консольных приложений это main).

Все, после этого ошибка должна исчезнуть.

Поблагодарить автора

4 Responses to error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup

  1. 2. Переходим в Project Properties -> Configuration Properties -> Linker -> Advanced и вставляем в свойстве Entry Point имя main-функции (для консольных приложений это main).

    А вот это не надо делать.

    Entry point указывает на хитрую функцию, которая кроме всего прочего, получает аргументы из командной строки и формирует из них параметры main: argv и argc. envp тоже получает она. Если указать в качестве entry point функцию main, работать программа будет, но вот argv и argc будут, мягко говоря, недействительными.

  2. Сори, а можно указать путь, если программа с русским языком

Оставить комментарий

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>