VS2013编译64位OpenSSL(附32位)
安装ActivePerl
这个没什么好说的,直接运行msi即可。
编译OpenSSL
1.使用Visual Studio Tool中的“VS2013 x64 本机工具命令提示”来打开控制台;也可以打开一个控制台,然后进到“安装路径\Microsoft Visual Studio 12.0\VC\bin\amd64\“中运行vcvars64.bat;
2.解压下载下来的openssl的压缩包,进入解压文件夹,输入命令:perl Configure VC-WIN64A;
3.输入命令ms\do_win64a;
4.输入命令nmake -f ms\nt.mak开始编译,如需要dll则命令为nmake -f ms\ntdll.mak(如果前面没有配置好发现使用了32bit的nmake,可使用绝对路径使用“安装路径\Microsoft Visual Studio 12.0\VC\bin\amd64\nmake.exe”);
5.如编译成功,可使用nmake -f ms\nt.mak test来测试。
PS:如果需要编译32bit的,第一步使用x86的控制台,二三步中改为VC-WIN32和ms\do_ms。
配置VS
1.项目->属性->配置属性->VC++ 目录->包含目录,将openssl文件夹的inc32添加进去;项目->属性->配置属性->VC++目录->库目录,添加openssl文件夹下的out32dll;
2.项目->属性->配置属性->链接器->输入->附加依赖项,增加libeay32.lib和ssleay32.lib;
3.将out32dll中的libeay32.dll和ssleay32.dll拷贝至工程目录下。
编译当中遇到的错误和解决办法
OpenSSL编译的时候提示少了strings.h头文件
修改这个文件
crypto/o_str.c
#if !defined(OPENSSL_IMPLEMENTS_strncasecmp) && \
!defined(OPENSSL_SYSNAME_WIN32) && \
!defined(NETWARE_CLIB)
# include <strings.h>
#endif
这个编译开关定义了就可以了
定义的方法在nt.mak 这个文件中的CFLAG 将-DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN
这两个宏加进去
还有一个重复定义的问题,这样也可以一并解决
链接错误
http://blog.csdn.net/fion45/article/details/40002387
VS2013编译64位OpenSSL(附32位)的更多相关文章
- win7 64位平台编译的程序在XP 32位平台无法运行的解决方法
win7 64位平台编译的程序在XP 32位平台无法运行的解决方法 vs2010的开发环境,制作了一个DLL库.但DLL在XP 32位平台一直无法使用.解决方法如下: 右键项目,属性->配置属性 ...
- 64位进程调用32位dll的解决方法 / 程序64位化带来的问题和思考
最近做在Windows XP X64,VS2005环境下做32位程序编译为64位程序的工作,遇到了一些64位编程中可能遇到的问题:如内联汇编(解决方法改为C/C++代码),long类型的变化,最关键的 ...
- Linux:使用rpcgen实现64位程序调用32位库函数
摘要:本文介绍使用rpcgent实现64位程序调用32位库函数的方法,并给出样例代码. 我的问题 我的程序运行在64位Linux系统上,需要使用一个从外部获得的共享库中的函数,这个共享库是32位的,无 ...
- 64位进程调用32位dll的解决方法
64位进程调用32位dll的解决方法 最近做在Windows XP X64,VS2005环境下做32位程序编译为64位程序的工作,遇到了一些64位编程中可能遇到的问题:如内联汇编(解决方法改为C/ ...
- 64位主机64位oracle下装32位客户端ODAC(NFPACS版)
64位主机64位oracle下装32位客户端ODAC(NFPACS版) by dd 1.下载Oracle Data Access Components(ODAC) Xcopy的两个版本: x86:(我 ...
- 怎样打开64位 Ubuntu 的32位支持功能?
转自:http://jingyan.baidu.com/article/7082dc1c539c15e40a89bd3e.html 大多数使用基于 Ubuntu/Debian 的发行版的人都更倾向于选 ...
- 64位ubuntu安装32位jdk
转自:http://blog.csdn.net/anladeyatou/article/details/8213334 ubuntu-11.10-desktop-amd64 jdk-6u23-linu ...
- CLR调试报错“Visual Studio远程调试监视器 (MSVSMON.EXE) 的 64 位版本无法调试 32 位进程或 32 位转储。请改用 32 位版本”的解决
Win7 64位电脑上进行visual studio的数据库项目的CLR存储过程进行调试时,报错: ---------------------------Microsoft Visual Studio ...
- 怎样打开64位 Ubuntu 的32位支持功能?
怎样打开64位 Ubuntu 的32位支持功能? 现在有一个让你可以在64位系统中使用32位软件的方法,就在你读了这篇文章然后照着做了之后就可以了.如果你有一个13.10或更高版本的Ubuntu/De ...
随机推荐
- InstallShield 2015 Premier的Basic MSI Project如何在卸载时删除残留的文件 (转)
转载:http://blog.csdn.net/zztoll/article/details/54018615#comments 先说下缘由,我在用InstallShield 2015 Premier ...
- CentOS6安装Pyhon3
一,从官方下载Python3.6 [root@linux-node1 src]# pwd /usr/local/src [root@linux-node1 src]# wget https://www ...
- asp.net web api的源码
从安装的NuGet packages逆向找回去 <package id="Microsoft.AspNet.WebApi.Core" version="5.2.7& ...
- 动画的使用—Drawable Animation
Drawable Animation可以称为帧动画,因为它是通过每次播放一帧Drawable资源实现的. Drawable Animation算不上真正意义上的动画,因为它的内部实现是通过定时发送消息 ...
- [原][译][osgearth][EarthFile]关于EarthFile 的Model Layer 讲解(通过earth文件加载模型层)(OE官方文档翻译)
原文参考:http://docs.osgearth.org/en/latest/references/earthfile.html#model-layer 本人翻译能有限.... 模型层 模型层渲染“ ...
- Angel 实现FFM 一、对于Angel 和分布式机器学习的简单了解
Angel是腾讯开源的一个分布式机器学习框架.是一个PS模式的分布式机器学习框架. https://github.com/Angel-ML/angel 这是github地址. 我了解的分布式机器学 ...
- Linux常用命令--文件操作、权限设置
1.编辑文件 cat aaa.txt 查看aaa.txt文件的内容 head - aaa.txt 查看aaa.txt文件前5行的内容 tail - aaa.txt 展示aaa.txt文件最后10行的内 ...
- Linux 常用环境搭建
已有环境 python 2.6.6 jdk 1.7 —tomcat— —jenkins— —jq— —Python 2.7— —pip— —PIL— —Android SDK— —yum or apt ...
- bzoj 1318 [SPOJ744] Longest Permutation (排列)
大意: 给定序列, 求选出一个长度为k的区间, 使得区间内的数为[1,k]的排列, 且要求k最大 这题好神啊. 每个排列有且仅有一个1, 我们按1将序列分成若干子问题来处理, 而每个位置最多属于两个子 ...
- 2-7-搭建DNS服务器实现域名解析
学习服务的方法: 了解服务的作用:名称,功能,特点 安装服务 配置文件的位置,端口 服务开启和关闭的脚本 修改配置文件(实战举例) 排错(从上到下,从内到外) -------------------- ...