博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
error LNK2019: 无法解析的外部符号;fatal error LNK1120: 1 个无法解析的外部命令; 可能存在的问题...
阅读量:4350 次
发布时间:2019-06-07

本文共 824 字,大约阅读时间需要 2 分钟。

一、问题:使用一个.lib出现如下错误 (我使用的环境 vs2012)

  error LNK2019: 无法解析的外部符号 _SSL_CTX_new,该符号在函数 _main 中被引用;

  fatal error LNK1120: 1 个无法解析的外部命令;

二、出现该问题的原因:

  1.原因:最大的可能就是使用的lib在引用的时候没添加好。

   解决方法:需要查看一下调用的配置是否正确:

        项目--》属性--》链接器--》常规--》附加库目录:填写附加依赖库所在目录 分号间隔多项

        项目--》属性--》链接器--》输入--》附加依赖项:填写附加依赖库的名字.lib 空格或分号间隔多项

 

  2.原因:该lib的库版本不对,需要编译出32位程序,用32位的lib,编译出64位程序,用64位的lib。

          (我的问题是编译32位的程序用了64位的库,不知道编译64位程序用32位的库会不会有问题,未尝试)

   解决方法:

    1) 可以先用vs的--》工具中的--》,使用命令:” dumpbin /all + lib名 “,确认该lib中是否含有有你需要的函数。

    2) 尝试修改编译出来的程序类型,重新编译(可以写个测试lib的工程,单独调用该lib中的函数,看看是否可以链接成功)。

    1. “链接器-》高级-》目标计算机”设置为”MachineX64 (/MACHINE:X64)”

      这里写图片描述

    2. “链接器-》命令行-》其他选项”设置为” /machine:X64 /debug ” 

      这里写图片描述

    3. “生成-》配置管理器-》活动解决方案平台”设置为” X64 “,如果没有就新建。 

      这里写图片描述

 

参考博客:http://blog.csdn.net/MR1269427885/article/details/53283257

转载于:https://www.cnblogs.com/shiwoa/p/7258679.html

你可能感兴趣的文章