注册 登录
编程论坛 C++教室

编译通过,连接出现这种问题是什么原因

lindayanglong 发布于 2008-07-22 14:44, 1004 次点击
spectral.obj : error LNK2005: "void __cdecl eigenvv(double (* const)[150],double (* const)[150])" (?eigenvv@@YAXQAY0JG@N0@Z) already defined in eigen.obj
Debug/scmain.exe : fatal error LNK1169: one or more multiply defined symbols found
Error executing link.exe.
 请大家帮帮忙,我很奇怪之前一直好好的,后来再运行编译通过,连接时就出现了这种问题,我看不明白,请帮我
2 回复
#2
zjl1382008-07-22 18:16
可能是你的文件包含有问题,可能重复包含了某个文件,导致对某个函数和变量重复定义.
#3
晨曦的朝阳2008-07-22 22:32
我之前好像也遇到了这个问题,我想问题应该是头文件里边你定义了一个函数造成的,如果你要在头文件定义的话,得用内联函数定义,在函数的定义前边加上(inline),另一个办法就是到实现文件里边定义,即函数的声明与定义在两个不同的文件里边。
1