您的位置:首页 > 运维架构

vs2008编译openssl问题

2015-04-28 17:49 127 查看
运行openssl demo 时,debug 版本正常,release 版本报异常:OPENSSL_Uplink(585E6000,08): no OPENSSL_Applink 。demo 编译环境是vs2008 , openssl 库编译环境是 vs2010 , 用 depends 工具分析Libeay32.dll 依赖msvcr100.dll , 推测可能与demo 运行环境有关,因此重新在vs2008 tool x86环境下编译openssl , 再次运行demo , 结果仍然报错。

后来查明是因为使用 nmake -f ms\ntdll.mak 指令编译openssl , 编译成了动态库,改成 nmake -f ms\nt.mak编译静态库,正常。

openssl 静态库输出路径:out32 (nt.mak) , 动态库路径:out32dll(ntdll.mak)

附上一张c++ 运行库不同版本编译指令说明书:
C Runtime Library:
/MD MSVCRT.LIB 多线程DLL的Release版本
/MDd MSVCRTD.LIB 多线程DLL的Debug版本
/MT LIBCMT.LIB 多线程静态链接的Release版本
/MTd LIBCMTD.LIB 多线程静态链接的Debug版本
/clr MSVCMRT.LIB 托管代码和非托管代码混合
/clr:pure MSVCURT.LIB 纯托管代码

C++ Standard Library:
/MD MSVCPRT.LIB 多线程DLL的Release版本
/MDd MSVCPRTD.LIB 多线程DLL的Debug版本
/MT LIBCPMT.LIB 多线程静态链接的Release版本
/MTd LIBCPMTD.LIB 多线程静态链接的Debug版本

原文链接:http://blog.csdn.net/qncj666/article/details/8244893
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: