error LNK2019: 无法解析的外部符号;fatal error LNK1120: 1 个无法解析的外部命令; 可能存在的问题

一、问题:使用一个.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

时间: 2024-11-05 20:41:30

error LNK2019: 无法解析的外部符号;fatal error LNK1120: 1 个无法解析的外部命令; 可能存在的问题的相关文章

Eclipse通过Maven构建时出现: Fatal error compiling: tools.jar not found: Fatal error compiling: tools.jar not found: C:\Program Files\Java\jre1.8.0_31\..\lib\tools.jar

错误: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.5.1:compile (default-compile) on project testtxannotation: Fatal error compiling: tools.jar not found: C:\Program Files\Java\jre1.8.0_31\..\lib\tools.jar 这种错误是偶然性的,构建几次可能出现一次

error LNK2019: 无法解析的外部符号 __imp___CrtDbgReportW

error LNK2019: 无法解析的外部符号 __imp___CrtDbgReportWerror LNK2005 and error LNK2019 error LNK2019: unresolved external symbol __imp___CrtDbgReportW referenced in function "public: double & __thiscall std::vector<double,class std MSVCRT.lib(MSVCR80.d

QT error LNK2019: 无法解析的外部符号

一个见到那的错误,困扰了好几天了,今天才解决,记录下. 使用QT Creator建立项目,添加一个QT设计界面widget,命名为TestWidget.有ui,头文件(.h),源码文件(.cpp).在使用TestWidget编译时,被编译器标为“无法解析的外部符号”. error LNK2019 无法解析的外部符号 解决方法:将当前qt工程所在的父目录下的 build-(工程名)-XXXXXX-Debug 文件夹删除,再构建项目即可运行..

c++中调用python脚本提示 error LNK2001: 无法解析的外部符号 __imp_Py_Initialize等错误的解决方法

最近项目中需要实现一个服务器宕机后短信提醒的功能,个人觉得在使用Python 写http请求这块很方便,发短信这块就使用了python,但是c++程序中调用这个脚本时,编译不通过,提示如下错误: error LNK2001: 无法解析的外部符号 __imp_PyString_FromStringerror LNK2001: 无法解析的外部符号 __imp_PyCallable_Check error LNK2001: 无法解析的外部符号 __imp_PyObject_CallObjecterro

PHP运行错最有效解决办法Fatal error: Out of memory (allocated 786432) (tried to allocate 98304 bytes) in H:\freehost\zhengbao2\web\includes\lib_common.php on line 744

原文 PHP运行错最有效解决办法Fatal error: Out of memory (allocated 6029312) Fatal error: Out of memory (allocated 786432) (tried to allocate 98304 bytes) in H:\freehost\zhengbao2\web\includes\lib_common.php on line 744疑问:786432 是指786432bytes?即:768MB 98304 bytes=9

上手并过渡到PHP7(4)——取代fatal error的engine exceptions

上手并过渡到PHP7 取代fatal error的engine exceptions 泊学原文链接泊学代码秀视频 自从PHP 4以来,PHP的错误处理几乎就是一成不变的.只不过在PHP 5.0里添加了E_STRICT,在PHP 5.2里添加了E_RECOVERABLE_ERROR,在PHP 5.3里,添加了E_DPRECATED这几种Error level.尽管PHP 5中加入了Exception,但PHP中只有很少的模块使用了这个机制(例如:pdo和spl).在PHP 7中,这个尴尬的现状,终

CentOS yum Fatal Error 处理一例

环境说明 [[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core) [[email protected] ~]# uname -r 3.10.0-229.7.2.el7.x86_64 [[email protected] ~]# 报错信息 [[email protected] ~]# yum -y install docker error: rpmdb: BDB0113 Thread/p

PHP捕获Fatal error错误的方法

这篇文章主要介绍了PHP捕获Fatal error错误的方法,使用register_shutdown_function来捕获Fatal error错误,需要的朋友可以参考下 Fatal error 一般是不需要捕获的, 但是在一个复杂的程序中, 如果偶然出现内存不足导致fatal error就难以处理了. 比如. fatal error 出在MySQL类中fetch的时候. 这个时候就很难定位到真正问题所在了. PHP异常处理中 可以通过set_error_handler来捕获. 但是却只能捕获

bugfree登录后报错PHP Fatal error: Call-time pass-by-reference has been removed in

详细报错信息[Tue Apr 25 06:49:07.556316 2017] [:error] [pid 21799] [client *.*.*.*:55813] PHP Fatal error:  Call-time pass-by-reference has been removed in /var/www/html/bugfree/Include/Class/XmlParse.class.php on line 46, referer: http://192.168.0.229/bug