vs2008编译openssl问题

运行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

时间: 2024-10-15 17:57:15

vs2008编译openssl问题的相关文章

基于源码编译openssl

openssh依赖于openssl,由于ssl频繁曝出漏洞,牵扯到openssh.而自身也存在漏洞... 00.下载openssl https://www.openssl.org/source/ https://github.com/openssl/openssl/releases https://www.openssl.org/source/openssl-1.0.2l.tar.gz 01.准备工作 yum -y install perl perl-devel gcc gcc-c++ 02.编

VS2008编译GDAL 1.8.1(转)

GDAL1.9.2 全套 如何在c++下进行nc问件的转换 起初,我的思路是这样,首先编译一个netcdf的库,然后用里面的函数进行读取文件.进行存储.再通过gdal里面的函数进行转换. 但是在编译netcdf库的时候,会发现大部分都是在linux下进行的.所以,浪费了我很多的时间. 后来经过录歌的剖析,其实可以讲netcdf和gdal直接编译.将netcdf封装在gdal里.通过调用gdal直接读取nc文件. 此库已经编译好了.有愿意下载的读者可以按照以下链接进行下载. http://down

Live555分析(一):VS2008编译

背景: RTSP(Real Time Streaming Protocol)实时流媒体协议: RFC 2326 The Real Time Streaming Protocol, or RTSP, is an application-level protocol for control over the delivery of data with real-time properties. RTSP provides an extensible framework to  enable cont

在Windows下编译OpenSSL(VS2005和VC6)

需要说明的是请一定安装openssl-0.9.8a .  openssl-1.0.0我没有编译成功. 如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)1.安装ActivePerl//初始化的时候,需要用到perl解释器2.使用VS2005下的Visual Studio 2005 Command Prompt进入控制台模式(这个模式会自动设置各种环境变量)3.解压缩openssl的包,进入openssl的目录4.perl configure VC-WIN32尽量在这

如何在 Windows 下编译 OpenSSL VS2013

OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人员而言,在http://slproweb.com/products/Win32OpenSSL.html 上下载已经编译好的OpenSSL库是省力省事的好办法.对于高级的开发用户,他们可能需要适当的修改或者裁剪OpenSSL,那么编译它就成为了一个关键问题.本篇博客就是主要讲述如何早Windows上编译Op

Ubuntu+NDK编译openssl(为了Android上使用libcurl且支持HTTPS协议)

为了Android上使用libcurl且支持HTTPS协议,需要依赖openssl,因此先来了解一下如何编译OpenSSL1.编译ARM下的共享库(默认的)我使用的是guardianproject的openssl,它已经提供好了android的ndk makefile.git clone https://github.com/guardianproject/openssl-android.git然后直接cd到该目录,$NDK/ndk-build就行.注意默认的使用NDKr5b,如果没有该版本,请

mac编译openssl扩展报错 openssl.c:44:10: fatal error: 'openssl/evp.h' file not found

解决办法 brew link openssl --force 然后 ./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config make sudo make install mac编译openssl扩展报错 openssl.c:44:10: fatal error: 'openssl/evp.h' file not found

Windows环境下使用VS2005编译OpenSSL

如何Windows环境下,使用VS2005编译OpenSSL,虽然这个问题在Baidu.Google上一堆,但安装中还是遇到些问题,在这里 记录下来希望能帮助大家不要在走弯路.注:我是在WinXP SP3下使用VS2005SP1下编译成功的,OpenSSL的版本是0.9.8l. http://www.cnblogs.com/moonset7/archive/2009/12/18/1627317.html by 月落上弦 一.编译OpenSSL  准备工作:下载OpenSSL源码 官方网站下载Op

VS2008编译bat

工程文件为AirCode,批处理文件为bulit.bat(与*.sln文件在同级目录). 以下是批处理的代码: echo %~dp0 rem set build_config="Debug|Win32" rem set build_config=$ALL set build_config="Release|Win32" rem set vs2008 cli environment call "%VS90COMNTOOLS%VSVARS32.BAT"