c++ - 使用简单的代码即可获得 LNK2019 和 LNK1120

标签 c++

我决定学习 C++ DirectX,但每当我编译/调试代码时,即使是最简单的代码,我都会得到 LNK2019: unresolved external symbol _WinMain@ 16 referenced in function "int __cdecl_main(void)"(?invoke_main@@ YAHXZ) 错误和 LNK1120。

我测试了两种不同的代码,一种带有类,另一种只是单独的 int 函数:

#pragma once

class Main
{
public:
    Main();
    ~Main();
};

Main::Main(int x)
{

}

Main::~Main()
{

}

int example()
{
    return 0;
}

最佳答案

首先,您应该帮自己一个忙,从书中正确学习 C++。 C++ 的设计者和实现者 Bjarne Stroustrup 有一本很棒的书,可以教给您很多东西:Programming: Principles and Practice using C++

您的程序无法链接,因为没有 main() 函数,这是必需的。

As Steephen has pointed out already in his answer ,您可以更改程序,使其至少包括以下内容:

int main()
{
    return 0;
}

看起来您试图用 example() 替换 main(),但是您的程序和 C++ 程序需要有一个 main() ,因为它是程序的主要入口点。您可能还想阅读 http://www.cplusplus.com/doc/tutorial/program_structure/

关于c++ - 使用简单的代码即可获得 LNK2019 和 LNK1120,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32751852/

相关文章:

c++ - 你选择 BOOST 中的哪个 Singleton 库?

c++ - 为什么在将此二维数组传递给函数时出现错误?

c++ - 枚举继承冲突

c++ - 编译错误,未创建函数/方法!对于 brms 模型

c++ - char "string"功能未更新

c++ - 来自同一物理类的多重继承

c++ - 什么是 QWebKit 模拟

c++ - 缩短嵌套变量名

c++ - 输出 UTF-8 (u8) std::string

c++ - 在没有 Midas.dll C++ 的情况下部署项目