首页
社区
课程
招聘
VC中的编译问题
发表于: 2011-7-21 18:24 9974

VC中的编译问题

2011-7-21 18:24
9974
#include <iostream>
int main()
{
  
        using namespace std;
        int a;
        a=56;
        cout<<a<<endl;
   return 0;
}

编译出错。。不知道错哪里
错误信息:

--------------------Configuration: 2323 - Win32 Release--------------------
Compiling...
56ASDSDA.CPP
Linking...
libcp.lib(locale.obj) : error LNK2001: unresolved external symbol ___security_cookie
libcp.lib(wlocale.obj) : error LNK2001: unresolved external symbol ___security_cookie
libcp.lib(xlocale.obj) : error LNK2001: unresolved external symbol ___security_cookie
libcp.lib(locale.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
libcp.lib(wlocale.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
libcp.lib(xlocale.obj) : error LNK2001: unresolved external symbol @__security_check_cookie@4
Release/2323.exe : fatal error LNK1120: 2 unresolved externals
执行 link.exe 时出错.

2323.exe - 1 error(s), 0 warning(s)

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (17)
雪    币: 202
活跃值: (149)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
程序没错,我用vs2008,创建控制台项目,把你的代码拷贝,生成,没一点问题。
你用的什么版本VC?应该是哪里设置的不对。
2011-7-21 20:02
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
链接的 CRT 里找不到___security_cookie,VC设置问题。

不过可以先尝试使用/GS-开关屏蔽___security_cookie看看。
2011-7-21 21:58
0
雪    币: 169
活跃值: (132)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
VC6.0....
2011-7-22 00:33
0
雪    币: 169
活跃值: (132)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
请问这个 具体怎么弄。我是菜鸟呢。。。谢谢你的回答
2011-7-22 00:35
0
雪    币: 46
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
楼主工程里就只有一个文件还是多文件的,看得很不明白,56ASDSDA.CPP在VC6里一般编译出56ASDSDA.exe但你却编译出2323.exe,有两种一是你改了编译出来的文件名字,另外一种就是56ASDSDA.CPP文件里写的不是你贴出来的代码。嘛,我深究也没用。

我也是用VC6的,编译你的代码没出现你这样的问题,你试试在#include <iosteam>下面加一句
#pragma comment(lib,"bufferoverflowU.lib")
试试

还有你有没有包含错库,在工具(tools)->选项(options)->目录(Directories)标签页下看看
Include files:
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
Library files:
C:\Program Files\Microsoft Visual Studio\VC98\LIB
C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB

再按Alt+F7,将左边调成Win32 Release,看看右边Link标签页下的Project Options,我的是
kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:no /pdb:"Release/56ASDSDA.pdb" /machine:I386 /out:"Release/56ASDSDA.exe"

我用的是原版英文版VC6再打SP6补丁的,由于没遇到您的问题,所以只能发表一下意见
2011-7-22 03:04
0
雪    币: 79
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
没有问题。在VC6。0里直接就运行了。
2011-7-22 09:35
0
雪    币: 94
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
关闭缓冲区安全检查
2011-7-22 11:16
0
雪    币: 17
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
你是不是借用了别人的工程文件
自己重新建立一个把代码拷贝进去就好了

可能高版本的vs支持GS,VC6不支持
2011-7-22 11:29
0
雪    币: 169
活跃值: (132)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
加了还是不行。。只有一个文件。。。自己写的代码。。加了#pragma comment(lib,"bufferoverflowU.lib")
就报

--------------------Configuration: Cpp1 - Win32 Release--------------------
Compiling...
Cpp1.cpp
Linking...
LIBC.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Release/Cpp1.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.

Cpp1.exe - 1 error(s), 0 warning(s)
哎。。
2011-7-22 12:16
0
雪    币: 169
活跃值: (132)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
我这个是VC6.0.。。该怎么关闭?
2011-7-22 12:16
0
雪    币: 46
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
我们用VC6都没问题,与其搞那么久不如重装VC6算了,我推荐用VC6原版英文版,一直用得好好的,不推荐用创天中文的VC6,自己用过与别人都说一堆Bug
自己上传了自己用的版本给力
VC6:
567K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4g2Q4x3X3f1I4x3e0g2Q4x3X3g2U0L8$3#2Q4x3V1k6X3K9h3I4W2i4K6u0r3k6r3^5&6x3K6u0*7y4r3)9`.
安装说明:
09cK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4g2Q4x3X3f1I4x3e0g2Q4x3X3g2U0L8$3#2Q4x3V1k6X3K9h3I4W2i4K6u0r3k6r3^5&6x3K6t1%4N6h3f1`.
2011-7-22 14:34
0
雪    币: 156
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
居然是重装,唉..........
2011-7-25 18:47
0
雪    币: 793
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
Project里面选Settings 点link选项里 链接成/subsystem:windows 看能解决报错不
2011-7-26 08:22
0
雪    币: 36
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
命名空间 using namespace std;是不是要放在main函数之前
2011-7-27 16:53
0
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
74aK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3k6G2M7Y4g2E0M7#2)9J5k6h3q4E0k6q4)9J5k6h3y4G2L8g2)9J5c8X3k6G2M7Y4g2E0i4K6u0r3L8h3g2K6M7$3q4Y4k6i4k6A6k6i4N6Q4x3X3g2U0k6X3#2Q4x3@1k6U0j5i4c8A6k6q4)9K6c8o6j5%4i4K6t1$3N6r3S2J5k6h3q4V1K9h3c8Q4x3@1b7^5y4o6l9%4y4b7`.`.

之后,[Project] --> [Settings] --> 选择"Link"属性页,  
在Project Options中将/subsystem:windows改成/subsystem:console
2011-7-27 17:56
0
雪    币: 46
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
创建控制台工程试一下...
2011-7-27 18:11
0
雪    币: 598
活跃值: (499)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
楼主用的VC6?

Security cookie是VC2002引入的特性 (使用/GS编译选项),VC6是没有这个概念的。之所以会报这些链接错误,估计是混合使用了不同版本的编译工具,比如同时安装了其它高版本的VC (2002-2010),并把后者的头文件路径设置在了VC6的头文件路径之前。

建议楼主仔细检查VC6中 Tools -> Options -> Directories 对话框里 "Include files" 和 "Library files" 的设置,把VC6对应的头文件路径和库文件路径提到最上面,并删掉其它VC对应的目录 (参见6楼的配置)。
2011-7-28 11:04
0
游客
登录 | 注册 方可回帖
返回