VS2005我写了个程序编译是成功了 但连接失败 望高手帮忙

shynnuaa 2009-01-04 03:34:37
我VS2005工程中写了一个SCAN程序其中MAIN函数在SCAN中,在SCAN中引用了include "syn_flood",SCAN和syn_flood在一个工程里,但编译连接时就出现如下错误:
syn_flood.obj : error LNK2005: "struct <unnamed-tag> PSD_HEADER" (?PSD_HEADER@@3U<unnamed-tag>@@A) 已经在 scan.obj 中定义
syn_flood.obj : error LNK2005: "int FakeIpNet" (?FakeIpNet@@3HA) 已经在 scan.obj 中定义
syn_flood.obj : error LNK2005: "int FakeIpPort" (?FakeIpPort@@3HA) 已经在 scan.obj 中定义

望解答疑惑,谢谢!!
...全文
167 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuromantic 2010-05-02
  • 打赏
  • 举报
回复
在 Visual Studio 开发环境中设置此链接器选项
1、打开该项目的“属性页”对话框。有关详细信息,请参见设置 Visual C++ 项目属性。

2、单击“链接器”文件夹。

3、单击“命令行”属性页。

4、将/FORCE键入“附加选项”框中
yuyunliuhen 2009-01-04
  • 打赏
  • 举报
回复
类似的情况,可以
MSDN LNK2005
然后对号入座
feng4206yu 2009-01-04
  • 打赏
  • 举报
回复
假如头文件名text.h
则头文件内容:
#ifndef TEXT_H
#define TEXT_H
...


#endif
czbever 2009-01-04
  • 打赏
  • 举报
回复
加头文件卫士
xiaoyisnail 2009-01-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 shynnuaa 的回复:]
预编译命令加在什么地方 是加到SYN_FLOOD.H这个文件定义中还是哪 谢谢 我是新手
[/Quote]

你的PSD_HEADER定义在那个.h里的就在哪里加,最好每个头文件都加上这样的预编译指令XXX_H中的XXX可以用相应的文件名代替
shynnuaa 2009-01-04
  • 打赏
  • 举报
回复
预编译命令加在什么地方 是加到SYN_FLOOD.H这个文件定义中还是哪 谢谢 我是新手
xiaoyisnail 2009-01-04
  • 打赏
  • 举报
回复
在你的头文件里加上如下的预编译指令:
#ifndef XXX_H
#define XXX_H
//头文件内容
...

#endif
jl443960770 2009-01-04
  • 打赏
  • 举报
回复
up[Quote=引用 1 楼 hqin6 的回复:]
重复定义,加上预编译命令!!
[/Quote]
太乙 2009-01-04
  • 打赏
  • 举报
回复
重复定义,加上预编译命令!!

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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