Error LNK2019:Unresolved External Symbol *** Referenced In Function ***的解决方案(转)

标签: function properties dependencies include linker tools
648人阅读 评论(0) 收藏 举报
分类:

Error LNK2019:Unresolved External Symbol *** Referenced In Function ***的解决方案(转)

2011-01-27 20:56:59| 分类: c/c++ | 标签:unresolved external lnk2019 mil error |字号 订阅

当头文件中声明了一个函数,但是在相应的源文件中却没有对该函数进行定义,则会出现为“解决的外部符号”(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/08/07/1505196.html

查看评论

深入Javascript Function(函数)视频教程

-
  • 1970年01月01日 08:00

error LNK2019: unresolved external symbol __imp__inet_ntoa@4 referenced in function

用vs2005编译udp  socket的时候,出现这个连接错误:1>Sever.obj : error LNK2019: unresolved external symbol __imp__clos...
  • lingxiu0613
  • lingxiu0613
  • 2011-07-14 16:17:51
  • 7648

解决error LNK2019: unresolved external symbol __imp_SHCreateStreamOnFileW referenced in function wmain

最近在coding中,用到了SHCreateStreamOnFile() 这个API,因此include了这个API的头文件#include , 但是报了以下错误: error LNK2019: ...
  • duoluoxia
  • duoluoxia
  • 2013-12-03 14:44:56
  • 3864

error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup

新建一个空的WIN32应用程序:
  • whatday
  • whatday
  • 2014-09-16 11:33:09
  • 4427

error LNK2019: unresolved external symbol __imp___wtoi referenced in function _InitProcessData@8

转自VC错误:http://www.vcerror.com/?p=2100 问题描述: 在做驱动编程的时候,用了_wtoi 函数,但是提示如下错误: error LNK2019: unresol...
  • swanabin
  • swanabin
  • 2016-01-25 10:07:07
  • 1058

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

Error LNK2019:Unresolved External Symbol *** Referenced In Function ***的解决方案   当头文件中声明了一个函数,但是在相应的源文...
  • baidu_24736703
  • baidu_24736703
  • 2016-05-16 20:12:41
  • 6881

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

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

关于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

初学opengl(一)第一个opengl程序及error LNK2019: unresolved external symbol的解决

操作系统:Windows 8.1; 开发环境:Visual Studio 2013 opengl的安装非常简单,很多人写博客介绍,随便找一个跟着做就差不多。 安装完成后,找了一个同学写好的工程拿来...
  • u011636440
  • u011636440
  • 2016-03-01 15:02:09
  • 1538

MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in funct

编译出现: MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced...
  • tianyi1991
  • tianyi1991
  • 2015-03-08 18:16:57
  • 1094
    个人资料
    持之以恒
    等级:
    访问量: 21万+
    积分: 2848
    排名: 1万+
    最新评论