LNK2001: unresolved external symbol ___security_cookie 这个错误如何解决?

Poor 2007-12-18 04:18:24
最近学习DX3D,我把一个vs.net 2005的源码演示程序用VC6中编译,刚开始有一大堆的编译和链接错误,经过一番修改设置,目前就剩下这两个链接错误了:

dxerr.lib(dxerr.obj) : error LNK2001: unresolved external symbol ___security_cookie
dxerr.lib(dxerr.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4


俺就不知道这个___security_cookie是在哪里定义的,怎么设置都不行,很是郁闷,请各位帮忙看一下。
...全文
6847 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
dqs111 2010-03-04
  • 打赏
  • 举报
回复
加入bufferoverflowU.lib就可以了。

#pragma comment(lib,"bufferoverflowU.lib")

以下是微软的解决方案:
http://support.microsoft.com/kb/894573/zh-cn
liuzhizhiyi 2009-11-28
  • 打赏
  • 举报
回复
这位老兄,你找到编译开关选项,把编译时候的编译开关 /GS拿掉就可以了。
leechrockgames 2009-11-13
  • 打赏
  • 举报
回复
你连接库的设置出错.
chbtime 2008-07-07
  • 打赏
  • 举报
回复
这个明显是你的库是2005编译的,2005编译的库和vc6编译的库二进制结构不一样
Poor 2007-12-26
  • 打赏
  • 举报
回复
没法啦,改用dxerr8.lib了,还得改一堆代码,不过还是谢谢各位。
Poor 2007-12-19
  • 打赏
  • 举报
回复
感谢各位的解答,按照4楼五岭散人提供的方法,我加一个bufferoverflowu.lib库后,release版本可成功编译运行了,但debug版还是有链接错误,按JID提到的第二种dirty way:

int __security_cookie;
void __fastcall __security_check_cookie(void *stackAddress){}

我把两行代码加到DxStdAfx.h中或单独生成个.lib文件加到project中都还是问题依旧,咋整啊!!!
stivenjia 2007-12-18
  • 打赏
  • 举报
回复
因为VC6的SDK库与05的SDK库不一样。
不仅仅是DX SDK库还有OS SDK也不一样。
ouyh12345 2007-12-18
  • 打赏
  • 举报
回复
这是一个vc6没问题,而用vc7编译出问题的
http://www.groupsrv.com/dotnet/about26841.html
Poor 2007-12-18
  • 打赏
  • 举报
回复
SDK都已完整下载,lib的路径也都已设置好,而且原始代码已在vs 2005成功编译运行,就是移植到VC6在链接时出现这个错误,而且我也仔细检查了vs 2005和VC6的include和lib路径设置和所调用的库设置,使之完全一致,还是无法解决。
ouyh12345 2007-12-18
  • 打赏
  • 举报
回复
再试试
http://forums.amd.com/forum/messageview.cfm?catid=67&threadid=84075
ouyh12345 2007-12-18
  • 打赏
  • 举报
回复
试试
http://blog.csdn.net/tonxi/archive/2007/04/09/1557863.aspx
liuxiuk 2007-12-18
  • 打赏
  • 举报
回复
Derectx的SDK需要自己下载吧

下载完够把include\Lib导入你的工程...
ouyh12345 2007-12-18
  • 打赏
  • 举报
回复
vs2005使用的directx sdk和vc6的不同,看是否lib库有区别?

19,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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