无法解析的外部符号 "public: __thiscall TStack<int>::~TStack<int>(void)" (??1?$TStack@H@@QAE@XZ),该

号在函数 _main 中被引用
// text.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "TStack.h"
#include "iostream"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
TStack <int> s1;
for(int i = 0; i < 5; i ++)
s1.push(i);
s1.display();
TStack<double> s2;
for(int i = 0; i < 5; i ++)
s2.push(i * 1.1);
s2.display();

char str[5][10]={"sdf","fdg","hdf","rey","hjf"};
TStack<char *> s3;
for(int i = 0; i < 5; i ++)
s3.push(str[i]);
s3.display();
system("pause");
return 0;
}

需要附加库,点击菜单栏的项目-〉属性,打开下面的界面:

找到 配置属性-〉链接器-〉输入  后,点击“附加依赖项”后的“…”按钮,添加添加相应的库。

不行的话Q我407037359,祝顺利

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-02-25
一,问题描述
MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
Debug\jk.exe : fatal error LNK1120: 1 个无法解析的外部命令

error LNK2001: unresolved external symbol _WinMain@16
debug/main.exe:fatal error LNK 1120:1 unresolved externals
error executing link.exe;

二,产生这个问题可能的原因
1, 你用vc建了一个控制台程序,它的入口函数应该是main, 而你使用了WinMain.

2. 你用vc打开了一个.c/.cpp 文件,然后直接编译这个文件,这个文件中使用了WinMian而不是main作为入口函数。vc这时的默认设置是针对控制台程序的。

三, 解决方法
1.进入project->setting->c/c++, 在category中选择preprocessor,在processor definitions中删除_CONSOLE, 添加_WINDOWS

2.进入project->setting->Link, 在Project options中将 /subsystem:console改为/subsystem:windows.

3.保存设置,Rebuild All.

VS2005中的设置请参考对应项进行设置

四,VS2005中的设置

1.菜单中选择 Project->Properties, 弹出Property Pages窗口

2.在左边栏中依次选择:Configuration Properties->C/C++->Preprocessor,然后在右边栏的Preprocessor Definitions对应的项中删除_CONSOLE, 添加_WINDOWS.

3.在左边栏中依次选择:Configuration Properties->Linker->System,然后在右边栏的SubSystem对应的项改为Windows(/SUBSYSTEM:WINDOWS)

4.Rebuild All. Ok ?

为了您的安全,请只打开来源可靠的网址
打开网站 取消
来自: http://hi.baidu.com/sgsniper/blog/item/bb727828d785faf999250a82.html
第2个回答  2011-02-21
少了
#include <TStack.h>???追问

没有少,代码已经贴出来了,麻烦你看下是哪里错了,谢谢

追答

看不出哪里有问题,可能问题在tstack.cpp上

本回答被提问者采纳
第3个回答  2011-02-25
一,问题描述
MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
Debug\jk.exe : fatal error LNK1120: 1 个无法解析的外部命令

error LNK2001: unresolved external symbol _WinMain@16
debug/main.exe:fatal error LNK 1120:1 unresolved externals
error executing link.exe;

二,产生这个问题可能的原因
1, 你用vc建了一个控制台程序,它的入口函数应该是main, 而你使用了WinMain.

2. 你用vc打开了一个.c/.cpp 文件,然后直接编译这个文件,这个文件中使用了WinMian而不是main作为入口函数。vc这时的默认设置是针对控制台程序的。

三, 解决方法
1.进入project->setting->c/c++, 在category中选择preprocessor,在processor definitions中删除_CONSOLE, 添加_WINDOWS

2.进入project->setting->Link, 在Project options中将 /subsystem:console改为/subsystem:windows.

3.保存设置,Rebuild All.

VS2005中的设置请参考对应项进行设置

四,VS2005中的设置

1.菜单中选择 Project->Properties, 弹出Property Pages窗口

2.在左边栏中依次选择:Configuration Properties->C/C++->Preprocessor,然后在右边栏的Preprocessor Definitions对应的项中删除_CONSOLE, 添加_WINDOWS.

3.在左边栏中依次选择:Configuration Properties->Linker->System,然后在右边栏的SubSystem对应的项改为Windows(/SUBSYSTEM:WINDOWS)

4.Rebuild All. Ok ?

为了您的安全,请只打开来源可靠的网址
打开网站 取消
来自: http://hi.baidu.com/sgsniper/blog/item/bb727828d785faf999250a82.html
第4个回答  2011-02-21
少了
#include <TStack.h>???追问

没有少,代码已经贴出来了,麻烦你看下是哪里错了,谢谢

追答

看不出哪里有问题,可能问题在tstack.cpp上

本回答被提问者采纳
相似回答