VC编译错误error LNK2001: unresolved external symbol "void __cdecl NR::broydn(class N

时间:2021-06-22 17:12:35
这是直接用《C++数值算法(第二版)》中的程序出的错误,编译的时候没错误,但是想看结果的时候出现两个错误。
--------------------Configuration: broydn(test) - Win32 Debug--------------------
Linking...
broydn(test).obj : error LNK2001: unresolved external symbol "void __cdecl NR::broydn(class NRVec<double> &,bool &,void (__cdecl*)(class NRVec<double> const &,class NRVec<double> &))" (?broydn@NR@@YAXAAV?$NRVec@N@@AA_NP6AXABV2@0@Z@Z)
Debug/broydn(test).exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

broydn(test).exe - 2 error(s), 0 warning(s)
这是什么原因啊,头文件什么的我都加进去了。

6 个解决方案

#1


是不是什么lib文件没有#pragma lib(lib, "xx.lib")

#2


引用 1 楼 visualeleven 的回复:
是不是什么lib文件没有#pragma lib(lib, "xx.lib")


这个程序不是我自己编的我是直接copy书上的,我什么也不懂,不知道能不能详细解释一下啊!
非常感谢!

#3


找不到外部函数~~~
静态找lib
动态找dll~~

#4


这个程序不是我自己编的我是直接copy书上的

copy书的代码,其中的头文件 # include xxxx.h 之类,是需要同时附带 cpp 或 dll文件的。
你看其中陌生的include xxxx.h  ,必定有一些函数 和类 ,它们的实现部分,你没有copy 进来

class NRVec<double> const &,class NRVec<double> &))

看这里 应该是一个叫NRVec 的类的定义部分缺失了。

#5


应该是少了LIB文件,你将书仔细看看,应该有说明,很多书后面的例子会用到前面的内容。

#6


问题已经解决了,感谢各位了,是有几个调用的函数没有加到工程中,我也是初次接触工程这种,有很多不会的地方,大家不要见笑,还是非常感谢大家!

#1


是不是什么lib文件没有#pragma lib(lib, "xx.lib")

#2


引用 1 楼 visualeleven 的回复:
是不是什么lib文件没有#pragma lib(lib, "xx.lib")


这个程序不是我自己编的我是直接copy书上的,我什么也不懂,不知道能不能详细解释一下啊!
非常感谢!

#3


找不到外部函数~~~
静态找lib
动态找dll~~

#4


这个程序不是我自己编的我是直接copy书上的

copy书的代码,其中的头文件 # include xxxx.h 之类,是需要同时附带 cpp 或 dll文件的。
你看其中陌生的include xxxx.h  ,必定有一些函数 和类 ,它们的实现部分,你没有copy 进来

class NRVec<double> const &,class NRVec<double> &))

看这里 应该是一个叫NRVec 的类的定义部分缺失了。

#5


应该是少了LIB文件,你将书仔细看看,应该有说明,很多书后面的例子会用到前面的内容。

#6


问题已经解决了,感谢各位了,是有几个调用的函数没有加到工程中,我也是初次接触工程这种,有很多不会的地方,大家不要见笑,还是非常感谢大家!