【问题标题】:C++ Fatal Error LNK1120: 1 unresolved externalsC++ 致命错误 LNK1120:1 个未解决的外部
【发布时间】:2011-11-16 16:04:38
【问题描述】:

是什么导致了这个错误?我用谷歌搜索了它,我发现的前几个解决方案是库和主要功能有问题,但在我的问题上似乎都很好,我什至都重新输入了!这可能是什么原因造成的?

这可能会有所帮助:

MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol WinMain@16 referenced in function __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;
}

【问题讨论】:

  • 发布完整错误。哪个是未解析的符号?
  • 未解析的符号是?请提供完整的错误文本。
  • 您还应该收到 LNK2001 错误,其中列出了未解决的问题。那些是什么?
  • 很抱歉,直到你们说了些什么,才意识到还有更多内容 - 更新问题

标签: c++ visual-studio-2010 main fatal-error


【解决方案1】:

我遇到了同样的错误。对我来说,原来是因为我试图在 .cpp 文件中实现一个 内联函数,而不是把它放在定义所在的头文件中。因此,当我尝试包含头文件并使用该函数时,我得到了这个错误。

【讨论】:

    【解决方案2】:

    在我的情况下,当我在“公共”访问说明符下声明一个函数时出现此错误。当我将该函数声明为私有时,问题得到了解决。

    【讨论】:

      【解决方案3】:

      就我而言,头文件和 .cpp 文件中的参数类型不同。在头文件中类型为std::wstring,在.cpp 文件中为LPCWSTR

      【讨论】:

        【解决方案4】:

        在我的特定情况下,发生此错误错误是因为我添加的文件未在 .vcproj 文件中引用。

        【讨论】:

          【解决方案5】:

          当我没有定义 main() 函数时,我遇到了这个特殊的错误。检查 main() 函数是否存在,或按上述 Timothy 所述逐个字母检查函数名称,或检查 main 函数所在的文件是否包含在您的项目中。

          【讨论】:

            【解决方案6】:

            您必须引用它。为此,请在解决方案资源管理器中打开项目的快捷菜单,然后选择引用。在 Property Pages 对话框中,展开 Common Properties 节点,选择 Framework and References,然后选择 Add New Reference 按钮。

            【讨论】:

              【解决方案7】:

              看来您缺少对某个库的引用。我通过添加对 #pragma comment(lib, "windowscodecs.lib")

              的引用解决了类似的错误

              【讨论】:

                【解决方案8】:

                我的问题是 int Main() 代替 int main()

                祝你好运

                【讨论】:

                  【解决方案9】:

                  我曾经遇到过这个错误。

                  原来我将程序命名为 ProgramMame.ccp 而不是 ProgramName。cpp

                  容易做...

                  希望对你有帮助

                  【讨论】:

                    【解决方案10】:

                    来自msdn

                    当您创建项目时,您选择了错误的应用程序 类型。当被问及您的项目是控制台应用程序还是 windows 应用程序或 DLL 或静态库,你做错了 选择了 Windows 应用程序(错误的选择)。

                    返回,重新开始,转到文件 -> 新建 -> 项目 -> Win32 控制台应用程序->命名您的应用程序->单击下一步->单击 应用程序设置。

                    对于应用程序类型,确保选择了控制台应用程序 (这一步是至关重要的一步)。

                    Windows 应用程序的主程序称为 WinMain,因为 DLL 是 称为 DllMain,对于 .NET 应用程序称为 Main(cli::array ^),而静态库没有 主要的。只有在控制台应用程序中,main 才称为 main

                    【讨论】:

                    • 哈!你的右边我点了它下面的那个~看起来一模一样,但你怎么知道?
                    猜你喜欢
                    • 1970-01-01
                    • 2012-06-03
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2012-03-30
                    • 2013-07-10
                    • 2015-01-11
                    相关资源
                    最近更新 更多