Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ошибка линкера LNK2019 / 6 сообщений из 6, страница 1 из 1
22.11.2016, 15:32
    #39351932
genikoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка линкера LNK2019
Перечитал кучу тем по этой ошибке,но так ничего мне и не помогло.После того как в настойках проекта покапался и поменял в General->Use of MFC "Use Standard Windows Libraries" на "Use MFC in a Static Library" про при компиляции проекта появились две ошибки,вот они:
Код: plaintext
1.
2.
Error	1	error LNK2019: unresolved external symbol _main referenced in function _WinMain@16	D:\rabota\projects\{OTP}\OTPLauncher\qtmain.lib(qtmain_win.obj)	OTPLauncher
Error	2	error LNK1120: 1 unresolved externals	D:\rabota\projects\{OTP}\OTPLauncher\release\OTP.exe	OTPLauncher



Нашел несколько вроде вариантов решения(изменения настроек,прописывать в точке входа main), но так и ничего не вышло.Может есть у кого какие варианты?Если что-то еще нужно прикрепить,пишите,я все сделаю.
...
Рейтинг: 0 / 0
22.11.2016, 15:34
    #39351936
genikoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка линкера LNK2019
http://www.sql.ru/forum/849296/kak-opr-tochka-vhoda-winmain-main-vs-komponovshhik-windows
В этой ветке есть много интересного,но чет ниче мне и не помогло.
...
Рейтинг: 0 / 0
23.11.2016, 05:35
    #39352350
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка линкера LNK2019
плохой совет:
посмотри в исходниках MFC, что оно зовёт (в твоём случае), поищи функцию _main, узнай её сигнатуру, напиши её в своём коде и вызови из неё то, что нужно. Или просто напиши и под дебаггером посмотри, откуда и почему она зовётся.
...
Рейтинг: 0 / 0
23.11.2016, 11:39
    #39352512
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка линкера LNK2019
genikoff,
я тебе позже все объясню
...
Рейтинг: 0 / 0
23.11.2016, 18:03
    #39352940
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка линкера LNK2019
Код: plaintext
unresolved external symbol _main referenced in function _WinMain@16

Сначала, что это такое.
У каждой графической Windws-программы есть две точки входа.
Одна -- которая вызвается, когда её запускают из т.н. shell-а, т.е. Program Manager или Explorer (в разных версиях ).
Это WinMain.
Вторая точка входа служит для вызва приложения, если пользователь запускает его из консоли (cmd или так называемое "окно DOS"). Обычно такая точка входа должна вывести сообщение, что это -- оконное приложение, и его надо запускать из Program Manager и выйти, но в принципе эту точку входа можно заменять на всё что угодно. Но 99% разработчиков это не делают. Чтобы с этим им не морочиться, в виндовых библиотеках (кажется) и во многих библиотеках фреймворков типа MFC делают свой маленкий модуль, содержащий этот MSDOS Stub. Вот именно его сборщик и не находит в данный момент.

Теперь о том, что ты делал:

авторПосле того как в настойках проекта покапался и поменял в General->Use of MFC "Use Standard Windows Libraries" на "Use MFC in a Static Library" про при компиляции проекта появились две ошибки,вот они:


Так у тебя используется MFC, или не используется ?
Если нет, то верни настройку обратно.

авторНашел несколько вроде вариантов решения(изменения настроек,прописывать в точке входа main),

Это тоже делать не надо.

Теперь, что НАДО делать.

Нужно найти одну из библиотек, в которой есть MSDOS Stub и подключить её к проекту, явно или неявно.
Либо нужно убедиться, что тебе Stub не нужен и убрать все фукнции, которые его используют.

Какой проект ты собираешь и в какой конфигурации ?
...
Рейтинг: 0 / 0
25.11.2016, 08:06
    #39354251
genikoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка линкера LNK2019
MasterZiv
Код: plaintext
unresolved external symbol _main referenced in function _WinMain@16

Сначала, что это такое.
У каждой графической Windws-программы есть две точки входа.
Одна -- которая вызвается, когда её запускают из т.н. shell-а, т.е. Program Manager или Explorer (в разных версиях ).
Это WinMain.
Вторая точка входа служит для вызва приложения, если пользователь запускает его из консоли (cmd или так называемое "окно DOS"). Обычно такая точка входа должна вывести сообщение, что это -- оконное приложение, и его надо запускать из Program Manager и выйти, но в принципе эту точку входа можно заменять на всё что угодно. Но 99% разработчиков это не делают. Чтобы с этим им не морочиться, в виндовых библиотеках (кажется) и во многих библиотеках фреймворков типа MFC делают свой маленкий модуль, содержащий этот MSDOS Stub. Вот именно его сборщик и не находит в данный момент.

Теперь о том, что ты делал:

авторПосле того как в настойках проекта покапался и поменял в General->Use of MFC "Use Standard Windows Libraries" на "Use MFC in a Static Library" про при компиляции проекта появились две ошибки,вот они:


Так у тебя используется MFC, или не используется ?
Если нет, то верни настройку обратно.

авторНашел несколько вроде вариантов решения(изменения настроек,прописывать в точке входа main),

Это тоже делать не надо.

Теперь, что НАДО делать.

Нужно найти одну из библиотек, в которой есть MSDOS Stub и подключить её к проекту, явно или неявно.
Либо нужно убедиться, что тебе Stub не нужен и убрать все фукнции, которые его используют.

Какой проект ты собираешь и в какой конфигурации ?

Спасибо за полезную информацию.Вы мне написали некоторые моменты,о которых я не знал.
А с проектом я решение нашел,так как не было времени разбираться,что же на самом деле я напорол,я откатился до предыдущей версии,хорошо что там не было существенных изменений.Проблема исчезла.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ошибка линкера LNK2019 / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]