提问者:小点点

错误LNK2019:函数___tMainCrtStartup中引用了未解析的外部符号_WinMain@16


当我运行下面的简单代码时,我有两个错误,如下所示:

#include <iostream>
#include <string>
using namespace::std;

template <class Type>
class Stack
{
public:
    Stack (int max):stack(new Type[max]), top(-1), maxsize(max){}
    ~Stack (void) {delete []stack;}
    void Push (Type &val);
    void Pop (void) {if (top>=0) --top;}
    Type& Top (void) {return stack[top];}
    //friend ostream& operator<< (ostream&, Stack&);
private:
    Type *stack;
    int top;
    const int maxSize;
};

template <class Type>
void Stack <Type>:: Push (Type &val)
{
    if (top+1<maxsize)
        stack [++top]=val;
}

错误:

msvcrtd.lib(crtexew.obj):错误LNK2019:函数___tMaincrtStartup中引用了未解析的外部符号_WinMain@16

我该怎么办?


共2个答案

匿名用户

这是一个链接器问题。

尝试更改属性->链接器->系统->子系统(在Visual Studio中)。

从Windows(/subsystem:Windows)到控制台(/subsystem:Console)

这个帮了我

匿名用户

正如其他人提到的,您可以将子系统更改为控制台,错误就会消失。

或者,如果您想保留Windows子系统,您可以只提示您的入口点是什么,因为您还没有定义___tmaincrtstartup。您可以通过将以下内容添加到Properties->Linker->命令行来完成此操作:

/entry:“maincrtstartup”

这样就可以摆脱控制台窗口。