Stan Huang Ответов: 1

Msvcrtd. lib ( exe_main. obj): ошибка LNK2019: неразрешенный внешний символ _main, на который ссылается функция " int _ _ cdecl invoke_main (void)"


У меня есть основная программа, начинающаяся с:

int main(int argc, char**argv)
{
.....
}


Он успешно скомпилирован, но когда я его построил, я получил сообщение, как показано ниже. Это означает, что моя основная программа-это неразрешенный символ, на который ссылается объект exe_main (). Я растерялся.


1>------ Rebuild All started: Project: dsim, Configuration: Debug Win32 ------
1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(368,5): warning MSB8004: Output Directory does not end with a trailing slash.  This build instance will add the slash as it is required to allow proper evaluation of the Output Directory.
1>  dsim.cpp
1>MSVCRTD.lib(exe_main.obj) : error LNK2019: unresolved external symbol _main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)
1>.\Debug\dsim.exe : fatal error LNK1120: 1 unresolved externals


Что я уже пробовал:

Я погуглил его "
LNK2019
- но все случаи отличаются от моих.

1 Ответов

Рейтинг:
5

Jochen Arndt

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

Самым простым решением было бы создать новый проект, выбрав соответствующий тип приложения (я предполагаю, что это не консольное приложение Unicode) и используя созданные шаблоны файлов, которые содержат main функция. Затем скопируйте и вставьте существующий код в созданные файлы и добавьте другие существующие исходные и заголовочные файлы по мере необходимости.


Stan Huang

Извините, это моя ошибка. Есть такое определение в начале файла, содержащего функции main(): #условной TARGET_SIMU. Я забыл добавить перед ним "#define TARGET_SIMU", так что весь файл практически пуст. Вот почему main () рассматривается как неразрешенный символ.

Jochen Arndt

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