VS2017 Thrift编译出的Release版本的库调用报错LNK2001
在使用thrift的过程中, 当我使用完thrift debug版本编译出来的库调试完成后, 改成release版本的时候, 就出现了如下错误, 莫名其妙啊, 同一套代码, 那只能是编译库的时候设置和调用库时候的设置不一样, 然后就对影响库版本的主要原因都一个一个的去对应, 对应完成之后, 发现还是报错, 刚开始以为那个地方遗漏了, 然后又反反复复的去匹配, 还是一样的错误, 弄了几个小时, 就为了这一个问题, 毫无头绪, 最后发现编译release版本库的时候报了一个警告, 也没抱多大希望, 就随便百度一下, 然后就在修改了一下个人任务无关紧要的配置, 这一改, 重新编译库, 重新编译调用库的程序, 我去奇迹发生了, 既然编译通过了, 那真的爽啊, 人一下就轻松了
编译release警告如下:(这件事情告诉我们, 在我们编译程序的时候, 请不要忽略任何一个警告, 否则,有你“爽“”的)
LINK : 找到 MSIL .netmodule 或使用 /GL 编译的模块;正在使用 /LTCG 重新启动链接;将 /LTCG 添加到链接命令行以改进链接器性能
修改thrift库release配置:
工程-> 属性 -> c/c++ -> 优化 -> 全程序优化 -> 是(/GL) 改成否
报错如下
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_get_rbio
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_peek
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_get_shutdown
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_get_wbio
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_connect
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _OPENSSL_init_ssl
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _X509_get_ext_d2i
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _TLSv1_method
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_CTX_set_default_passwd_cb
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _ASN1_STRING_length
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _X509_free
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _ERR_clear_error
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _TLS_method
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_free
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_CTX_set_options
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_get_peer_certificate
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_new
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_CTX_free
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _OPENSSL_sk_pop_free
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_CTX_ctrl
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _ERR_error_string
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _X509_verify_cert_error_string
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _OPENSSL_sk_value
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_CTX_use_PrivateKey_file
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_set_fd
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _ASN1_STRING_data
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _CRYPTO_free
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_CTX_new
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_write
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_get_verify_result
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _TLSv1_2_method
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_CTX_set_default_passwd_cb_userdata
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_ctrl
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _X509_NAME_ENTRY_get_data
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _TLSv1_1_method
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_CTX_set_verify
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _X509_get_subject_name
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _OPENSSL_sk_num
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _CONF_modules_unload
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _OPENSSL_init_crypto
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_accept
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_pending
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _ERR_get_error
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _X509_NAME_get_index_by_NID
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_read
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_CTX_set_cipher_list
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_CTX_load_verify_locations
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_CTX_use_certificate_chain_file
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_shutdown
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_get_verify_mode
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _ASN1_STRING_to_UTF8
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _ERR_peek_error
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _ERR_reason_error_string
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _BIO_ctrl
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _RAND_poll
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _SSL_get_error
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _ERR_remove_state
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _GENERAL_NAME_free
1>libthrift.lib(TSSLSocket.obj) : error LNK2001: 无法解析的外部符号 _X509_NAME_get_entry
1>D:\RPC\TestRPC\TestRPCDemo\Release\RPC_CLIENT.exe : fatal error LNK1120: 59 个无法解析的外部命令
VS2017 Thrift编译出的Release版本的库调用报错LNK2001的更多相关文章
- unity, unity默认的Arial字体在编译出的h5版本中不显示
unity默认的Arial字体在编译出的h5版本中不显示.改用自己的字体可显示.
- USGS-EROS项目espa-surface-reflectance中的Landsat8 大气校正LaSRC Version 1.3.0模块利用vs2010编译出windows64位版本(四)
,支持一些关键问题: 1 数据初始化问题.该问题是指在linux环境下编程标准c并编译,用户定义的变量默认初始值是0,但在windows 64 win7环境中,变量默认初始值是负值极小.... ...
- Lansat8大气校正USGS-EROS项目espa-surface-reflectance中的LaSRC Version 1.3.0模块利用vs2010编译出windows64位版本的使用(三)
Landsat8大气校正程序LaSRC是目前最好的,使用方式也够傻瓜,输入文件输出结果. 但有一个限制,就是程序需要预先下载好的MODIS辅助文件来确定水汽.压强等大气参数. 如果待大气校正的land ...
- 使用vs2010 opencv2.4.4编译release版本程序
大体上要注意一下几点内容: 1.vc++目录的选择上,库目录选择为opencv目录中的staticlib目录 2.在链接->输入->附加依赖库,中添加,相应的staticlib库目录中的所 ...
- Debug版本正常运行,Release版本编译通过但运行崩溃
解决这个问题之前,第一个想的是Debug版本和Release版本有什么区别 Debug版: 经过编译器编译出的项目.exe文件大,而且生成的二进制命令没有经过编译器的优化.项目中包含着丰富的调试信息, ...
- qgis3.16.6+vs2017再编译(debug+release)
参考 https://www.cnblogs.com/superbi/p/11188145.html 文章以及其它文章,对qggis3.16.6进行了重新编译 一.编译准备 1.Cygwin 1.1安 ...
- Win7 下用 VS2015 编译最新 openssl(1.0.2j)包含32、64位debug和release版本的dll、lib(8个版本)
Win7 64位系统下通过VS2015编译好的最新的OpenSSL(1.0.2j)所有八个版本的链接库, 包含以下八个版本: 1.32位.debug版LIB: 2.32位.release版LIB: 3 ...
- Debug 运行正常,Release版本不能正常运行总结(转)
引言 如果在您的开发过程中遇到了常见的错误,或许您的Release版本不能正常运行而Debug版本运行无误,那么我推荐您阅读本文:因为并非如您想象的那样,Release版本可以保证您的应用程 ...
- 【转】Debug 运行正常,Release版本不能正常运行
http://blog.csdn.net/ruifangcui7758/archive/2010/10/18/5948611.aspx引言 如果在您的开发过程中遇到了常见的错误,或许您的Release ...
随机推荐
- 大话设计模式Python实现-命令模式
命令模式(Command Pattern):将请求封装成对象,从而使可用不同的请求对客户进行参数化:对请求排队或记录请求日志,以及支持可撤消的操作. 下面是一个命令模式的demo: #!/usr/bi ...
- PHP 7.4.0 发布
近日,PHP 7.4.0 发布了,此版本标志着 PHP 7 系列的第四次特性更新. PHP 7.4.0 进行了许多改进,并带来了一些新特性,包括: Typed Properties 类型属性 类属性 ...
- MySQL属性SQL_MODE学习笔记
最近在学习<MySQL技术内幕:SQL编程>并做了笔记,本博客是一篇笔记类型博客,分享出来,方便自己以后复习,也可以帮助其他人 SQL_MODE:MySQL特有的一个属性,用途很广,可以通 ...
- FCN用卷积层代替FC层原因(转)
原博客连接 : https://www.cnblogs.com/byteHuang/p/6959714.html CNN对于常见的分类任务,基本是一个鲁棒且有效的方法.例如,做物体分类的话,入门级别的 ...
- Elasticsearch 6.x版本全文检索学习之分布式特性介绍
1.Elasticsearch 6.x版本全文检索学习之分布式特性介绍. 1).Elasticsearch支持集群默认,是一个分布式系统,其好处主要有两个. a.增大系统容量,如内存.磁盘.使得es集 ...
- Java开发桌面程序学习(二)————fxml布局与控件学习
JavaFx项目 新建完项目,我们的项目有三个文件 Main.java 程序入口类,载入界面并显示 Controller.java 事件处理,与fxml绑定 Sample.fxml 界面 sample ...
- sql 小全
前些日子sql用到哪里写到哪里,乱七八糟,今天整理了一下,以作备份(虽然开通博客已经八个月了,但是今天还是第一次发表博文,好紧张啊~~) --2014.08.27号整理sql语句 1:进入数据库 us ...
- java基础(8):Eclipse开发工具
1. Eclipse开发工具 Eclipse是功能强大Java集成开发工具.它可以极大地提升我们的开发效率.可以自动编译,检查错误.在公司中,使用的就是Eclipse进行开发. 1.1 Eclipse ...
- 【Android】Handler消息机制
Handler消息机制主要涉及Looper.Handler.MessageQueue.Message.其中,Looper主要负责获取消息,Handler负责发送消息及处理消息,MessageQueue ...
- 修复\okldr.mbr ,状态0x000000f
问题: 系统出错显示: 修复\okldr.mbr ,状态0x000000f. 方法: 利用bcdeidt删除错误启动项. bcdeidt的应用 1.启动系统,点击开始,运行中输入cmd,鼠标右键管理员 ...