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 ...
随机推荐
- 提取Office图标的方法
需求 几年前,好声音以独特节目形式吸引了很多选手和观众的 观注,旨在"只寻找优质声音": 可声音各有特色时,还得看颜值,当然这也无可厚非.虽然扯得有点远,我想表达的是软件开发的稳定 ...
- 还在担心网聊相亲的小姐姐,美女变恐龙!Python帮你"潜伏"侦查
最近,小编的一个朋友很是苦恼,他在Python交流的群里,认识了一个妹子,看头像感觉挺不错的,大家都喜欢摄影,蛮谈得来的!但是想要约见面却不敢,因为他看过<头号玩家>,深知躲在电脑背后 ...
- MyEclipse构建maven项目报错
直接上图: 这里有三种方案: 1.检查jdk版本:最好换成1.8版本 项目右键-->build path-->configure build Path; 1.2 点击 libraries ...
- 企业如何做好B2C电商平台
导语本文主要讲了两个方面:1.企业如何定位B2C电商平台:2.企业做B2C遇到的问题. 一.企业如何定位B2C电商平台传统企业做B2C电子商务一般选用品牌.渠道.平台模式这三种,品牌模式是在网上建立一 ...
- python3在mac下配置
目的 https://github.com/VonSdite/Plane_Wars 可以本地跑起来. 下载并安装python3 https://www.python.org/downloads/mac ...
- javaScript之基础介绍
前言一:javascript历史背景介绍 布兰登 • 艾奇(Brendan Eich,1961年-),1995年在网景公司,发明的JavaScript. 一开始JavaScript叫做LiveScri ...
- WPF 使用动画设置特殊值的方法
例如设置Visibility属性时: 第一种方式: <ObjectAnimationUsingKeyFrames Storyboard.TargetProperty="(UIEleme ...
- yolov3和ssd的区别
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/BlowfishKing/article/d ...
- 表达式树练习实践:C#判断语句
目录 表达式树练习实践:C#判断语句 if if...else switch ?? 和 ?: 表达式树练习实践:C#判断语句 判断语句 C# 提供了以下类型的判断语句: 语句 描述 if 一个 if ...
- SSM定时任务(spring3.0)
SSM定时任务主要分为两部分 1.applicationContext.xml配置文件设置 设置如下: 在xmlns中添加:xmlns:task="http://www.springfram ...