unresolved external symbol _WinMain@16
error LNK2001 unresolved external symbol [EMAIL]_WinMain@16[/EMAIL]
и
atal error LNK1120 1 unresolved externals
помогите, что тут не так?!
спасибо
[ Это Сообщение было отредактировано mike в 2002-02-28 0955 ]
нужно было создавать console app. кстати может кто по ходу разницу обьяснит мне дураку?
On 2002-02-28 0327, TekiL wrote
Дико извиняюсь, проблема саморасосалась
нужно было создавать console app. кстати может кто по ходу разницу обьяснит мне дураку?
Ну на себя не наговаривай
Фишка в том, что точка входа в прогу для любого языка (не языка ассемблера) вызывается стартовым кодом, который линкуется при компоновке. По соглашениям Си это main() ей передаются некоторые параметры. Когда разрабатывали Windows, решили расширить параметры main и ф-цию. переименовали в WinMain и передаются ей совсем другие параметры...
Итак, прога под Windows должна иметь WinMain, её и искал компоновщик, выдавая error. Чтобы было возможно писать проги с Сишным main’ом, достаточно добавить WinMain следующего вида
long _stdcall WinMain(...)
{
AllocConsole();
main(__argc, __argv, __envp);
FreeConsole()
}
Что и делается когда создается проект Win32 Console Application.
При этом AllocConsole открывает "текстовое" окно ala DOS
Вот такие делишки
вопрос кстати. обязательно-ли понимать у суметь обьяснить каждую строку программы которую создаёт vc (например если создать mfc app, vc сделает некоторое кол-во классов и т.д. и т.п.)? и может-ли это пригодится? или просто как последнему ламеру набирать свой каод там где написано TO DO: etc.. ?
On 2002-02-28 2246, TekiL wrote
обязательно-ли понимать у суметь обьяснить каждую строку программы которую создаёт vc (например если создать mfc app, vc сделает некоторое кол-во классов и т.д. и т.п.)? и может-ли это пригодится? или просто как последнему ламеру набирать свой каод там где написано TO DO etc.. ?
Не обязательно, но КРАЙНЕ желательно. Иначе иногда не возможно затавить прогу делатьто, что надо тебе.
Но ты не стесняйся, начинай писать, понимание придет в процессе.