Фатальная ошибка C ++ LNK1120: 1 неразрешенная внешняя - PullRequest
14 голосов
/ 14 сентября 2011

Что вызывает эту ошибку?Я сделал это в Google, и первые несколько решений, которые я нашел, заключались в том, что что-то не так с библиотекой и основной функцией, но оба, похоже, в моей проблеме, я даже перепечатал оба!Что может быть причиной этого?

Это может быть полезно:

MSVCRTD.lib (crtexew.obj): ошибка LNK2019: неразрешенный внешний символ WinMain @ 16, указанный в функции _ _tmainCRTStartup

#include <iostream>
using namespace std;
int main()
{
    const double A = 15.0, 
                 B = 12.0, 
                 C = 9.0;
    double aTotal, bTotal, cTotal, total;
    int numSold;

    cout << "Enter The Number of Class A Tickets Sold: ";
    cin >> numSold;
    aTotal = numSold * A;

    cout << "Enter The Number of Class B Tickets Sold: ";
    cin >> numSold;
    bTotal = numSold * B;

    cout << "Enter The Number of Class C Tickets Sold: ";
    cin >> numSold;
    cTotal = numSold * C;

    total = aTotal + bTotal + cTotal;

    cout << "Income Generated" << endl;
    cout << "From Class A Seats $" << aTotal << endl;
    cout << "From Class B Seats $" << bTotal << endl;
    cout << "From Class C Seats $" << cTotal << endl;
    cout << "-----------------------" << endl;
    cout << "Total Income: " << total << endl;

    return 0;
}

Ответы [ 6 ]

24 голосов
/ 14 сентября 2011

С MSDN

Когда вы создали проект, вы сделали неправильный выбор приложения тип. На вопрос, является ли ваш проект консольным приложением или Приложение Windows или DLL или статическая библиотека, вы сделали не так выбрал приложение для Windows (неправильный выбор).

Вернитесь назад, начните сначала, перейдите в Файл -> Создать -> Проект -> Win32 Консольное приложение -> название вашего приложения -> нажмите далее -> нажмите настройки приложения.

Для типа приложения убедитесь, что выбрано Консольное приложение. (этот шаг является жизненно важным).

Основное приложение для Windows называется WinMain, для DLL - называется DllMain, для приложения .NET называется Main (cli :: array ^), а статическая библиотека не имеет главный. Только в консольном приложении main называется main

12 голосов
/ 25 октября 2012

Я однажды допустил эту ошибку.

Оказывается, я назвал свою программу ProgramMame. ccp вместо ProgramName. cpp

легко сделать ...

Надеюсь, это поможет

7 голосов
/ 21 ноября 2012

Моя проблема была int Main () вместо int main ()

удачи

2 голосов
/ 25 апреля 2015

Что ж, похоже, вам не хватает ссылки на какую-то библиотеку. У меня похожая ошибка была решена путем добавления ссылки на комментарий прагмы # (lib, "windowscodecs.lib")

0 голосов
/ 21 сентября 2016

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

0 голосов
/ 05 июля 2016

Вы должны ссылаться на него. Для этого откройте контекстное меню для проекта в обозревателе решений и выберите «Ссылки». В диалоговом окне «Страницы свойств» разверните узел «Общие свойства», выберите «Каркас и ссылки», а затем нажмите кнопку «Добавить новую ссылку».

...