ССЫЛКА: ошибка LNK2001: неразрешенный внешний символ _WinMainCRTStartup - PullRequest
1 голос
/ 30 марта 2011

я изучаю c ++ для разработчиков игр, я читаю книгу и использую Win32 API, поэтому я попытался скомпилировать тест моей программы

 #include <windows.h>

        int WINAPI WinMain(HINSTANCE hInsance,HINSTANCE hPrevInstance,PSTR cmdLine,int showCmd){
            MessageBox(0,"First Win32 Program","Window Tittle",MB_OK);
            }

я получаю:

ССЫЛКА:ошибка LNK2001: неразрешенный внешний символ _WinMainCRTStartup

Я новичок в программировании на Win32, поэтому я не знаю, где ошибка, которую я использую в Windows7 thnx :)!

Ответы [ 3 ]

2 голосов
/ 21 февраля 2012

У меня была такая же проблема, и она была решена, когда я понял, что забыл добавить источник

1 голос
/ 30 марта 2011

Вы можете использовать /ENTRY:WinMain для переопределения имени по умолчанию или скомпилировать с /MT, чтобы компилятор пометил объектные файлы таким образом, чтобы компоновщик захватил библиотеку времени выполнения (которая предоставляет точку входа).

Точка входа в библиотеку времени выполнения делает несколько приятных вещей, таких как запуск глобальных конструкторов, устанавливающих глобальный обработчик исключений, чтобы вы получили диалоговое окно в случае необработанных исключений, но ничего из того, что он делает, не является абсолютно необходимым.


ПРИМЕЧАНИЕ. Если вы не используете точку входа в библиотеку, аргументы недоступны.Вместо этого вы должны использовать такие функции ОС, как GetCurrentProcess и GetCommandLine и GetStartupInfo, чтобы получить информацию, обычно доступную в виде аргументов WinMain.Вы все равно не использовали это.Но подумайте дважды об использовании вашей собственной точки входа, многое зависит от инициализации библиотеки, и вам лучше быть уверенным, что вы ее не используете.

0 голосов
/ 30 марта 2011

Вы действительно хотите заглянуть в XNA для разработчиков игр.И для вашего первого приложения - пусть VC ++ IDE сделает тяжелую работу.Выберите «Новый проект», «Консольное приложение», затем напечатайте «Hello World» - все значения по умолчанию будут установлены для вас -

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...