精华内容
下载资源
问答
  • 无法解析的外部符号

    2019-08-11 09:42:40
    问题描述:无法解析的外部符号_WinMain@16,该符号在函数_tmairCRTStartup中被引用 解决方案:将tchar.h这个头文件给包含进去

    问题描述:无法解析的外部符号_WinMain@16,该符号在函数_tmairCRTStartup中被引用

    解决方案:将tchar.h这个头文件给包含进去

    展开全文
  • error LNK2019: 无法解析的外部符号

    万次阅读 多人点赞 2018-08-06 12:50:38
    11_ObjectDetection.obj : error LNK2019: 无法解析的外部符号 “public: __cdecl cv::VideoCapture::VideoCapture(void)” (??0VideoCapture@cv@@QEAA@XZ),该符号在函数 main 中被引用 1>11_Object...

    错误描述
    1>11_ObjectDetection.obj : error LNK2019: 无法解析的外部符号 “public: __cdecl cv::VideoCapture::VideoCapture(void)” (??0VideoCapture@cv@@QEAA@XZ),该符号在函数 main 中被引用
    1>11_ObjectDetection.obj : error LNK2019: 无法解析的外部符号 “public: virtual __cdecl cv::VideoCapture::~VideoCapture(void)” (??1VideoCapture@cv@@UEAA@XZ),该符号在函数 main 中被引用
    1>11_ObjectDetection.obj : error LNK2019: 无法解析的外部符号 “public: virtual bool __cdecl cv::VideoCapture::open(int)” (?open@VideoCapture@cv@@UEAA_NH@Z),该符号在函数 main 中被引用
    1>11_ObjectDetection.obj : error LNK2019: 无法解析的外部符号 "public: virtual bool __cdecl cv::VideoCapture::isOpened(void)const " (?isOpened@VideoCapture@cv@@UEBA_NXZ),该符号在函数 main 中被引用
    1>11_ObjectDetection.obj : error LNK2019: 无法解析的外部符号 “int __cdecl cv::waitKey(int)” (?waitKey@cv@@YAHH@Z),该符号在函数 main 中被引用
    1>F:\DeskTop\x64\Debug\人脸识别.exe : fatal error LNK1120: 5 个无法解析的外部命令

    问题分析
    error LNK2019: 无法解析的外部符号
    一般是源代码里用了第三方库,但工程没有添加相应的库目录

    解决方法
    依次选择:项目–>属性
    这里写图片描述
    然后,VC++目录–>库目录–>编辑
    这里写图片描述
    点击空白处,然后点击“…”,添加相应的路径即可
    这里写图片描述
    还没有完,然后点击链接器–>输入–>附加依赖项–>编辑,添加用到的库文件的名称
    这里写图片描述
    补充
    对于怎么知道自己缺少什么头文件和库文件这个问题,不熟悉项目的新手很是头疼。有一些经验,虽然很笨,供大家参考吧。

    1. 双击错误信息,找到出错的地方,把出错的位置复制到百度搜索一下,寻找他的头文件和库,出错的地方可能是宏定义、函数或变量, 不要大段复制,只复制名称。
    2. 有时可能双击不会跳转到出错的地方,就直接在代码里寻找标红的地方,可能有好几个文件,都要找,然后再根据标红的部分搜索.h和.lib。
    3. 一般.h和.lib是成对的,有lib一般都会有相应的h,但.h头文件可以单独存在。

    小结
    用第三方库时,一般还会遇到 “无法打开包括文件: “opencv2/objdetect/objdetect.hpp”: No such file or directory "的错误
    fatal error C1083: 无法打开包括文件: “opencv2/objdetect/objdetect.hpp”: No such file or directory

    展开全文
  • LNK2001: 无法解析的外部符号的几种情况

    万次阅读 多人点赞 2018-11-01 09:01:51
    error LNK2001: 无法解析的外部符号无法解析几种情况: 1>MSVCRT.lib(MSVCR90.dll) : error LNK2005: _printf 已经在 libcurl.lib(pqueue.obj) 中定义 1>MSVCRT.lib(MSVCR90.dll) :...

    一般来说,我们引用第三方库时,需要进行指定依赖项配置,若没有进行相关配置,则编译器会出现“LNK2001: 无法解析的外部符号”错误。

    这个是最常见的问题,具体步骤
    项目、属性、链接器、常规、附加库目录:填写附加依赖库所在目录 分号间隔多项
    项目、属性、链接器、输入、附加依赖项:填写附加依赖库的名字.lib 空格或分号间隔多项

    若已经按照上述步骤进行配置,但编译器还是报错,可能情况如下:

    1.编译lib库和引用lib库平台不一致

    lib库采用的编译平台和引用该lib的工程的编译平不兼容导致的。比如项目采用vs2008编译,而该lib是用2010编译的,亦或者项目采用vs2015平台,而lib是vs2008编译的也可能导致链接失败。

    2.编译lib库和引用lib库选项不一致情况

    1、一个lib库采用“多线程 DLL (/MD)”配置,而另外一个项目采用“多线程(/MT)”编译配置
    2、一个lib库采用“使用 Unicode 字符集”配置,而另外一个项目采用“使用多字节字符集”编译配置
    3、一个lib库采用选择“release 版本 ”配置,而另外一个项目采用选择 “debug 版本 ”编译配置
    4、一个lib库采用“wind32平台 ”配置,而另外一个项目采用“wind64平台 ”编译配置

    3.没有添加指定预编译宏

    在使用curl静态库时,却遇到了编译链接错误:
    1>testcurl.obj : error LNK2001: unresolved external symbol __imp__curl_easy_init
    1>testcurl.obj : error LNK2001: unresolved external symbol __imp__curl_easy_setopt
    1>testcurl.obj : error LNK2001: unresolved external symbol __imp__curl_easy_perform
    1>testcurl.obj : error LNK2001: unresolved external symbol __imp__curl_easy_cleanup

    解决方法是,在自己的项目属性中添加一个预编译宏,CURL_STATICLIB,

    为了避免遇到以上问题建议:

    1、引用第三方库时,确认lib库是否使用相同编译平台
    2、确认编译选项是否一致。比如运行时库和字符集
    3、若需要则添加指定编译宏
    4、添加附加库目录和附加依赖项

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,692
精华内容 1,876
关键字:

无法解析的外部符号