use*_*224 16 visual-studio visual-studio-2015
将项目从VS2008迁移到VS2015时,我遇到了以下错误.
21>TFCLd.lib(cryptlib.obj) : warning LNK4217: locally defined symbol _fprintf imported in function _OpenSSLDie
21>TFCLd.lib(rsa_sign.obj) : warning LNK4049: locally defined symbol _fprintf imported
21>TFCLd.lib(cryptlib.obj) : error LNK2019: unresolved external symbol __imp____iob_func referenced in function _OpenSSLDie
21>TFCLd.lib(rsa_sign.obj) : error LNK2001: unresolved external symbol __imp____iob_func
Run Code Online (Sandbox Code Playgroud)
该项目建立在VS2008中,但在VS2015中出现上述错误.我可以知道我错过了什么.
小智 22
将它放在类头文件的开头或stdafx.h中
FILE _iob[] = { *stdin, *stdout, *stderr };
extern "C" FILE * __cdecl __iob_func(void) { return _iob; }
Run Code Online (Sandbox Code Playgroud)
请看:http:
//openssl.6102.n7.nabble.com/Compiling-OpenSSl-Project-with-Visual-Studio-2015-td59416.html
更改openssl根目录中的文件e_os.h的第310行
# if _MSC_VER> =1300
以# if _MSC_VER> =1300 && _MSC_VER <= 1800
修复问题.
原始海报描述了问题的原因:
在Visual Studio 2015中,重新设计了具有旧名称的库
Visual Studio 2015称为_MSC_VER == 1900.
| 归档时间: |
|
| 查看次数: |
27405 次 |
| 最近记录: |