NAI*_*IEM 135 c++ visual-studio visual-c++
当我运行如下的简单代码时,我有两个错误如下:
#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;
}
Run Code Online (Sandbox Code Playgroud)
错误:
MSVCRTD.lib(crtexew.obj):错误LNK2019:
_WinMain@16
函数中引用的未解析的外部符号___tmainCRTStartup
我该怎么办?
Boh*_*dan 344
这是一个链接器问题.
尝试更改属性 - >链接器 - >系统 - >子系统(在Visual Studio中).
从Windows(/ SUBSYSTEM:WINDOWS)到控制台(/ SUBSYSTEM:CONSOLE)
Mor*_*sen 82
正如其他人所提到的,您可以将SubSystem更改为Console,错误将消失.
或者,如果您想保留Windows子系统,您可以只提示您的入口点,因为您尚未定义___tmainCRTStartup
.您可以通过将以下内容添加到" 属性" - >"链接器" - >"命令行"来执行此操作:
/ ENTRY: "mainCRTStartup"
这样你摆脱了控制台窗口.
mat*_*sfk 10
除了将其更改为Console (/SUBSYSTEM:CONSOLE)
如其他人所说的,你可能需要更改入口点的属性- >链接器- >高级- >入口点.将其设置为mainCRTStartup.
如果您没有另外指定,似乎Visual Studio可能正在搜索WinMain函数而不是main.
如果您确实想使用_tWinMain()而不是main(), 请确保您的项目相关配置已
在定义_tWinMain()的c/cpp文件中,添加:
#include <Windows.h>
#include <tchar.h>
main
您尝试将该源文件转换为可执行文件,这显然是不可能的,因为未定义强制入口点(函数) 。添加文件main.cpp并定义main函数。如果您正在使用命令行(我对此表示怀疑),则可以添加/c
仅编译而不是链接。这只会生成一个目标文件,需要链接到静态或共享库或应用程序(在这种情况下,您将需要一个定义了 main 的目标文件)。
_WinMain
是 Microsoft 的main
链接名称。
另外:您还没有运行代码,您正在编译(和链接)它。C++ 不是解释性语言。
归档时间: |
|
查看次数: |
222835 次 |
最近记录: |