首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >错误LNK2019:函数___tmainCRTStartup中引用的未解析外部符号_WinMain@16

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

Stack Overflow用户
提问于 2011-07-08 23:05:06
回答 13查看 250.7K关注 0票数 152

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

代码语言:javascript
复制
#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

我该怎么办?

EN

回答 13

Stack Overflow用户

发布于 2011-12-16 18:24:21

这是一个链接器的问题。

尝试更改-> Linker -> System -> SubSystem的属性(在Visual Studio中)。

从Windows (/SUBSYSTEM:WINDOWS)到控制台(/SUBSYSTEM:CONSOLE)

This one helped me

票数 380
EN

Stack Overflow用户

发布于 2012-01-05 02:37:54

正如前面提到的,您可以将SubSystem更改为Console,错误就会消失。

或者,如果您想保留Windows子系统,您可以只提示您的入口点是什么,因为您还没有定义___tmainCRTStartup。可以通过将以下内容添加到属性->链接器->命令行来执行此操作

/ENTRY:"mainCRTStartup“

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

票数 87
EN

Stack Overflow用户

发布于 2015-03-05 06:07:18

如果您在使用Qt时遇到此问题,则需要链接qtmain.lib或qtmaind.lib

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6626397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档