在windows下使用vs2013编译thrift 0.10.0
来源:互联网 发布:淘宝怎么做虚拟充值 编辑:程序博客网 时间:2024/06/03 21:46
之前转载过一篇windows下编译thrift的文章,但总是不全,现在重新写一篇。
操作系统为win7,使用vs2013,thrift版本为0.10.0,openssl版本为1.1.0,libevent和boost版本使用最新的就行。
准备工作:
1. boost安装,网上搜一个就行,比较简单
2. libevent安装,用vs2013 开发人员命令行工具进入libevent解压后的文件夹,执行: nmake Makefile.nmake
3. openssl安装,估计1.1.0版本和之前的版本都不一样,文章最后有安装说明
编译:
使用vs2013打开 lib/cpp/thrift/sln;
两个工程都添加附加包含库目录,如下图:
编译成功!
完美!!!!
到OpenSSL官方网站下载OpenSSL源代码包
1、下载 openssl-1.1.0.tar.gz
2、安装 ActivePerl, 可以到http://www.activestate.com/activeperl/downloads下载最新版本, 需要用到 perl 解释器。
注:Perl 最低版本要求5.10以上,Windows XP用户最后支持版本ActivePerl 5.20.2.2002 版本
3、使用 VS2010 下的 Visual Studio 2010 Command Prompt 进入控制台模式 (这个模式会自动设置各种环境变量,根据编译32位、64位、Itanium自己选择)。
4、安装dmake,ppm install dmake
5、解压缩 openssl 源代码包,进入 openssl 的根目录, 如 E:\openssl-1.1.0。
6、perl configure VC-WIN32
必须在 c:\openssl-1.1.0 目录下执行该命令, 否则找不到 Configure 文件, 这时就必须指定完整的 Configure 文件路径。
64编译的话 Win64/x64 执行 perl Configure VC-WIN64A;Win64/IA64 执行 perl Configure VC-WIN64I。
7、在正式编译之前
(1). 找到 c:\openssl-1.1.0\configdata.pm和c:\openssl-1.1.0\makefile两个文件, 用记事本打开, 搜索 “/MD” 字符串, 替换成 “/MT”, 这将导致静态链接 C 运行, 避免了在目标机器上安装 VC 再发行包等等操作。
8、编译, nmake
9、编译, nmake test
10、编译, nmake install
注:openssl 1.1.0开始由原先的libeay32.dll、ssleay32.dll变成了libcrypto-1_1.dll、libssl-1_1.dll,一些加密方式也发生了变化。
比如原先:
C:\>echo test|openssl enc -base64 -aes-256-cbc -k 123 得到密文:
U2FsdGVkX19HgMwgeLRw6KIOvhXKrz1keMbCrFuvfh8=
然后执行C:\>echo U2FsdGVkX19HgMwgeLRw6KIOvhXKrz1keMbCrFuvfh8=|openssl enc -base64 -aes-256-cbc -k 123 -d 解密得到原文:
test
可是在1.1.0中解密会失败。
- 在windows下使用vs2013编译thrift 0.10.0
- thrift windows vs2013编译lib
- 在windows下使用vs2013编译和调试mysql源代码
- 在windows下使用vs2013编译和调试mysql源代码
- Thrift windows下cpp编译与使用
- windows下编译thrift
- FontConfig在windows和VS2013下编译
- Pixman在windows+vs2013下编译
- Pango在windows+vs2013下编译
- thrift-0.9.0windows下编译
- VS2013 windows下编译及使用libevent
- windows下使用thrift
- windows下使用thrift编译+示例+详解解决坑
- 在Windows平台VS2013环境下编译Boost库
- openHEVC在Windows下编译—VS2013+Win7为例子
- Xvid在Windows下的编译方法(VS2013)
- PCRE在windows+VS2013编译
- Glib在windows+vs2013编译
- 修改mysql 端口号
- GObject 子类私有属性的外部访问
- [linux命令]-du
- C#多线程操作界面控件的解决方案
- excel中如何快速添加相似数据
- 在windows下使用vs2013编译thrift 0.10.0
- loj1017
- Mac Java
- 最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等等
- 将程序输出在控制台的内容输出到文档中
- ADV-166 聪明的美食家
- JAVA中异常抛出、捕获机制—try catch throw
- 基本节奏
- extjs3.2中datefield和comboBox使用readOnly不正常显示