vc2005 error LNK2019: 无法解析的外部符号 __cdecl std::operator<<

iNothing 2007-08-04 07:01:21
test_std.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<char,struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (__imp_??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z),该符号在函数 _wmain 中被引用

使用向导生成的控制台程序
#include "stdafx.h"
#include <iostream>

using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
cout<<"test"<<endl;
return 0;
}
...全文
2290 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dinghao1984 2008-03-02
  • 打赏
  • 举报
回复
very good
iNothing 2007-08-04
  • 打赏
  • 举报
回复
的确是UNICODE的问题, 2005向导生成的工程默认使用UNICODE

感谢楼上
gfxiang 2007-08-04
  • 打赏
  • 举报
回复
你这个程序用的似乎是UNICODE版本,你可以试试
cout << _T("test") << endl;
linfengc 2007-08-04
  • 打赏
  • 举报
回复
有一个全局或静态的变量或静态函数有问题。
linfengc 2007-08-04
  • 打赏
  • 举报
回复
System("pause");
或者Sleep(1000);
iNothing 2007-08-04
  • 打赏
  • 举报
回复
补充下, vc 2005 express + server 2003 platform SDK
打开/verbose后显示如下(省略了些):
------ 已启动全部重新生成: 项目: test_std, 配置: Debug Win32 ------
正在删除项目“test_std”(配置“Debug|Win32”)的中间文件和输出文件
正在编译...
stdafx.cpp
正在编译...
test_std.cpp
正在链接...
已处理 /NODEFAULTLIB(正在取消所有默认库)
正在启动传递 1
正在搜索库
正在搜索 E:\_XDK\PSDK\Lib\kernel32.lib:
正在搜索 C:\Programs\MsVS8\VC\lib\MSVCPRTD.lib:
已找到 "__declspec(dllimport) public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ostream<char,struct std::char_traits<char> > &))" (__imp_??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z)
已在 test_std.obj 中引用
已加载 MSVCPRTD.lib(MSVCP80D.dll)
已找到 "__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > std::cout" (__imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A)
已在 test_std.obj 中引用
已加载 MSVCPRTD.lib(MSVCP80D.dll)
已找到 "__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::endl(class std::basic_ostream<char,struct std::char_traits<char> > &)" (__imp_?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z)
已在 test_std.obj 中引用
已加载 MSVCPRTD.lib(MSVCP80D.dll)
已找到 "__declspec(dllimport) public: __thiscall std::ios_base::Init::Init(void)" (__imp_??0Init@ios_base@std@@QAE@XZ)
已在 test_std.obj 中引用
已加载 MSVCPRTD.lib(MSVCP80D.dll)
已找到 "__declspec(dllimport) public: __thiscall std::_Winit::_Winit(void)" (__imp_??0_Winit@std@@QAE@XZ)
已在 test_std.obj 中引用
已加载 MSVCPRTD.lib(MSVCP80D.dll)
已找到 "__declspec(dllimport) public: __thiscall std::ios_base::Init::~Init(void)" (__imp_??1Init@ios_base@std@@QAE@XZ)
已在 test_std.obj 中引用
已加载 MSVCPRTD.lib(MSVCP80D.dll)
已找到 "__declspec(dllimport) public: __thiscall std::_Winit::~_Winit(void)" (__imp_??1_Winit@std@@QAE@XZ)
已在 test_std.obj 中引用
已加载 MSVCPRTD.lib(MSVCP80D.dll)

test_std.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<char,struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (__imp_??$?6DU?$char_traits@D@std@@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z),该符号在函数 _wmain 中被引用

24,855

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧