注册 登录
编程论坛 VC++/MFC

链接器工具错误 LNK2005

酷code 发布于 2016-05-19 17:50, 6899 次点击
2015的链接器工具错误 LNK2005怎样解决

严重性    代码    说明    项目    文件    行    禁止显示状态
错误    LNK2005    "int __cdecl judge_chess(void)" (?judge_chess@@YAHXZ) already defined in ConsoleApplication1.obj    ConsoleApplication1    C:\Users\***\documents\visual studio 2015\Projects\ConsoleApplication1\ConsoleApplication1\stdafx.obj    1   

严重性    代码    说明    项目    文件    行    禁止显示状态
错误    LNK2005    "void __cdecl prinf(void)" (?prinf@@YAXXZ) already defined in ConsoleApplication1.obj    ConsoleApplication1    C:\Users\***\documents\visual studio 2015\Projects\ConsoleApplication1\ConsoleApplication1\stdafx.obj    1

   
4 回复
#2
yuccn2016-05-23 17:07
(?judge_chess@@YAHXZ) already defined

重定义了,也有可能是文件的嵌套包含导致的,

把函数的声明反正头文件,头文件加上 def 宏即可
#3
酷code2016-05-24 07:20
回复 2楼 yuccn
能不能给例子,谢谢
#4
lanke7112016-05-28 12:45
比如说,你建立一个a.cpp文件,里面定义一个函数void aa()函数,然后,你想要在b.cpp中调用这个函数。
那么,不要在b.cpp的头文件中#include "a.cpp"(X,不要这样写)。只要在b.cpp里声明一下函数原型就可以了.void aa();
这是一点。

另外,自定义一个.h头文件
如:
c.h
那么这样写:
#ifndef _C_H_
#define _C_H_
//这里是头文件需要写的内容,如定义结构体
#endif

这样就可以了。
#5
农民工2016-06-25 15:33
重新构建
1