powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ошибка линкера LNK2019
6 сообщений из 6, страница 1 из 1
Ошибка линкера LNK2019
    #39351932
genikoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перечитал кучу тем по этой ошибке,но так ничего мне и не помогло.После того как в настойках проекта покапался и поменял в 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
Ошибка линкера LNK2019
    #39351936
genikoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://www.sql.ru/forum/849296/kak-opr-tochka-vhoda-winmain-main-vs-komponovshhik-windows
В этой ветке есть много интересного,но чет ниче мне и не помогло.
...
Рейтинг: 0 / 0
Ошибка линкера LNK2019
    #39352350
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
плохой совет:
посмотри в исходниках MFC, что оно зовёт (в твоём случае), поищи функцию _main, узнай её сигнатуру, напиши её в своём коде и вызови из неё то, что нужно. Или просто напиши и под дебаггером посмотри, откуда и почему она зовётся.
...
Рейтинг: 0 / 0
Ошибка линкера LNK2019
    #39352512
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
genikoff,
я тебе позже все объясню
...
Рейтинг: 0 / 0
Ошибка линкера LNK2019
    #39352940
Фотография 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
Ошибка линкера LNK2019
    #39354251
genikoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Ошибка линкера LNK2019
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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