zoukankan      html  css  js  c++  java
  • vs2015使用低版本编译的openssl问题

    用Vs2005编译的openssl,在vs2015中使用就悲剧了,报如下错误

    1>libeay32.lib(cryptlib.obj) : error LNK2019: 无法解析的外部符号 __vsnprintf,该符号在函数 _OPENSSL_showfatal 中被引用
    1>libeay32.lib(cryptlib.obj) : error LNK2019: 无法解析的外部符号 _vfprintf,该符号在函数 _OPENSSL_showfatal 中被引用
    1>libeay32.lib(cryptlib.obj) : error LNK2019: 无法解析的外部符号 ___iob_func,该符号在函数 _OPENSSL_showfatal 中被引用
    1>libeay32.lib(pem_lib.obj) : error LNK2001: 无法解析的外部符号 ___iob_func
    1>libeay32.lib(rsa_sign.obj) : error LNK2001: 无法解析的外部符号 ___iob_func
    1>libeay32.lib(ui_openssl.obj) : error LNK2001: 无法解析的外部符号 ___iob_func

    解决方案如下

    #ifdef WIN32
    #pragma comment(lib,"User32.lib")
    #pragma comment(lib,"Advapi32.lib")
    #pragma comment(lib,"Gdi32.lib")
    #pragma comment(lib,"legacy_stdio_definitions.lib")
    #pragma comment(lib,"libeay32.lib")
    #pragma comment(lib,"ssleay32.lib")
    #endif
    #if _MSC_VER>=1900
    #include "stdio.h" 
    _ACRTIMP_ALT FILE* __cdecl __acrt_iob_func(unsigned);
    #ifdef __cplusplus 
    extern "C"
    #endif 
    FILE* __cdecl __iob_func(unsigned i) {
        return __acrt_iob_func(i);
    }
    #endif /* _MSC_VER>=1900 */
  • 相关阅读:
    基于CSS 和JS的网页SELECT下拉框美化,JQUERY 插件
    ini文件读写
    Hibernate 表关系描述之OneToMany
    Hibernate 表关系描述之ManyToMany
    Hibernate 初识
    Hibernate 表关系描述之OneToOne
    Struts配置文件初解
    Hibernate 初识(补充)
    struts 学习之04 "模型"
    (Struts)Action类及其相关类
  • 原文地址:https://www.cnblogs.com/yuandaozhe/p/10123241.html
Copyright © 2011-2022 走看看