hur.cn - 华软网

 热门搜索

为啥我的项目无法使用STD?

  作者:未知    来源:网络    更新时间:2010/12/9
我有一个第三方的图形项目,然则里面一旦用到诸如std::vector<int> s;
就报链接毛病,以下:
Error 2 error LNK2019: unresolved external symbol __CrtDbgReportW referenced in function "void __cdecl std::_Debug_message(wchar_t const *,wchar_t const *,unsigned int)" (?_Debug_message@std@@YAXPB_W0I@Z) libcpmtd.lib


Error 4 error LNK2019: unresolved external symbol __free_dbg referenced in function "void __cdecl operator delete(void *,struct std::_DebugHeapTag_t const &,char *,int)" (??3@YAXPAXABU_DebugHeapTag_t@std@@PADH@Z) libcpmtd.lib

Error 3 error LNK2019: unresolved external symbol __malloc_dbg referenced in function "void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z) libcpmtd.lib

Error 5 fatal error LNK1120: 3 unresolved externals Debug\Dark GDK - PNG Detected.exe



哪位大神知道这是为什么吗?有什么解决的措施没有?
---华软 网友回答---
出现这一报错,很有可能是定义了一个类,但没有实现之。 

另有一种情况,本质也是上述原因酿成的。 
之前我通过增加现有项,引入了已粘贴在本工程目录下的 .h和 .cpp资料,然则关掉后再重新打开工程,编译的时候,就会报“error LNK2019: 没法解析的外部符”毛病。 
这个时候再去看工程的“类视图”,是能够看到该类的定义的,然则,双击其成员,只可看到 .h资料中的定义,未能看到 .cpp资料中的实现,而在“解决方案管理器”,是看不到该 .h和 .cpp资料的。 

---华软网友回复---
然则不用STD就没有这个问题
---华软网友回复---
LNK2019:头资料和lib版本不一致
得看看工程用的是什么版本的c运行库
---华软网友回复---
select the "Multi-threaded Debug Runtime Library [/MTd]" 
---华软网友回复---
引用 4 楼 visualeleven 的回复:
select the "Multi-threaded Debug Runtime Library [/MTd]"


VS2008默许的就是这个。。。。
---华软网友回复---
用using namespace std;///引进命名空间,有可能要加些相关头资料
---华软网友回复---
搞定了,运用MDD就没问题了...      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。