error LNK2019:unresolved external symbol *** referenced in function ***的解决方案

转载 2011年10月08日 11:31:44
 当头文件中声明了一个函数,但是在相应的源文件中却没有对该函数进行定义,则会出现为“解决的外部符号”(unresolved external symbol )错误。另外,当一个函数调用了外部的一个库文件中的函数,但是在当前project的properties中并没有将所依赖的(dependent)库文件包含进来时,也会出现这种错误。

      综上,当一个solution在linking时找不到所涉及到的函数的定义时就会出现“unresolved external symbol ”错误。

      例如,下面是调用MIL的库文件mil.lib中的函数时,由于没有将mil.lib包含进来而导致的链接错误。

1>Linking...
1>MDispSelect.obj : error LNK2019: unresolved external symbol _MappFree@4 referenced in function _main
1>MDispSelect.obj : error LNK2019: unresolved external symbol _MsysFree@4 referenced in function _main
1>MDispSelect.obj : error LNK2019: unresolved external symbol _MdispFree@4 referenced in function _main

      【解决方案】

      1. Project -> ** Properties... -> Configuration Properties -> Linker -> Input -> Additional Dependencies -> mil.lib

另外,在此之前,还需添加MIL库的相应目录:Tools -> Options -> Projects and Solutions -> VC++ Directories -> Show Directories for -> 在Include files中添加C:\Program Files\Matrox Imaging\Mil\Include  以及  Tools -> Options -> Projects and Solutions -> VC++ Directories -> Show Directories for -> 在Library files中添加C:\Program Files\Matrox Imaging\Mil\LIB。添加目录的目的是为了使VC在调用相应库文件时不必总是使用绝对地址,VC可以通过文件名在所包含的目录中进行搜索。这样,前面的mil.lib就不必使用绝对地址了。

      【缺点】可移植性差,如果将原工程中的源文件和头文件中的内容copy下来重新建立该工程时(例如:在电子书或网络上找到的程序),仍需自己在工程中添加目录及所需的库文件。

      2. 在程序前加入#pragma comment(lib, "mil.lib")也可以达到相同的效果。

      【优点】避免了方案1所出现的问题。

 

原文地址:http://www.cnblogs.com/tekson/archive/2009/06/17/1505196.html

 

另外,模板的定义和声明不在同一个文件中时,也会发生这个错误。

关于error LNK2019::Unresolved External Symbol * Referenced In Function..解决办法 2

前几天我转了一篇关于error LNK2019::Unresolved External Symbol * Referenced In Function..解决办法的博客,但我自己后来按照上面的办法并...
  • baidu_24736703
  • baidu_24736703
  • 2016-05-17 22:13:04
  • 4519

Error LNK2019:Unresolved External Symbol 解决方案

参考:http://www.educity.cn/wenda/351518.html Error LNK2019:Unresolved External Symbol *** Referenced ...
  • rudy_axle
  • rudy_axle
  • 2014-12-26 18:07:06
  • 7679

error LNK2019:unresolved external symbol的解决方法

我们都知道,当我们在链接程序的时候,出现了如下错误,那是代表,程序没有找到在.h文件中定义的函数的实现。 error LNK2019:unresolved external symbol   有...
  • zxj1988
  • zxj1988
  • 2013-03-06 16:33:41
  • 13412

C++ error LNK2019: "unresolved external symbol"解决方法

1>  LINK : D:\code\OpenGLTest\Debug\OpenGLTest.exe not found or not built by the last incremental li...
  • jd_19900903
  • jd_19900903
  • 2014-05-19 16:41:16
  • 6346

error LNK2019: unresolved external symbol "public 错误的出现原因.

从网上查询中发现这个问题 有很多原因,大多数 是和链接库有关. 我的程序也出现了这个错误,经过仔细检查发现,是类定义了一个函数而没有实现,也会出现这样的问题,以后切忌 切忌!! 1>main.obj ...
  • michealmeng555
  • michealmeng555
  • 2011-06-07 15:27:00
  • 8951

error LNK2019: unresolved external symbol __imp_SetupDiDestroyDeviceInfoList 错误解决

今天把以前代码中取电池信息的类,加入到com工程中。 结果报了Link错误。错误如下: error LNK2019: unresolved external symbol __imp_SetupD...
  • duoluoxia
  • duoluoxia
  • 2012-05-24 10:03:11
  • 3121

错误 1 error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartu

当出现这种错误时,你首先要做得是检查代码拼写错误 ,特别是字母拼写顺序错误、{ }不匹配,有很大概率是这种低级错误。接下来才考虑其它问题:   产生这个问题可能的原因 1, 你用vc建了一个控制台程序...
  • neuqbingoye
  • neuqbingoye
  • 2012-02-27 20:07:44
  • 22313

关于LNK2019错误的解决方法

这两天编译一个VC工程的时候出现了LNK2019错误,费了一番力气解决了问题,在此做一个总结。     LNK2019错误属于链接错误,一般都会给出类似“在函数‘function’中引用了无法解...
  • educast
  • educast
  • 2013-10-09 23:15:12
  • 1604

error LNK2019:unresolved external symbol

error LNK2019:unresolved external symbol 分类: 网络编程2012-07-22 17:30 31人阅读 评论(0) 收藏 举报 出现以下错误...
  • jfkidear
  • jfkidear
  • 2012-08-15 20:42:31
  • 7017

error LNK2019: unresolved external symbol

error LNK2019: unresolved external symbol(2007-05-28 10:23:43) 转载   分类:Programe(C/C++/VC/....
  • jtop0
  • jtop0
  • 2010-08-01 03:29:00
  • 64119
收藏助手
不良信息举报
您举报文章:error LNK2019:unresolved external symbol *** referenced in function ***的解决方案
举报原因:
原因补充:

(最多只允许输入30个字)