Thrift第一课 源码编译

1)字符编码

Thrift采用多字节的编码方式,在使用log4cplus进行日志管理的时候,同样需要编译一个多字节的字符编码的版本,否则就会出现log4cplus中无法解析的函数符号

2)Boost链接动态库

libthrift

要求boost库的智能指针,线程库以及librt

注意:bool interruptible_wait(detail::win32::handle handle_to_wait_for,detail::timeout target_time)怀疑是boost版本之间的问题,主要是原本采用了1.58.0版本,后来使用了1.64.0版本的代码,初步认为是两者之间的线程代码出现了分歧,导致无法找到函数的定义,实际上并没有出现这种情况目前采用的boost库是动态编译出来的,因此必须指定正确的运行时库,否则就会编译出错,调用boost的动态库,需要注释掉上面的两行代码,但是在目前来看依旧出现依赖libboost_thread-vc140-mt-sgd-1_64.lib不过从这里其实已经可以看出,调用的确实是静态库,其中有s,gd代表的意思是调试,mt代表多线程,

因此链接到boost静态库,说明运行时库指定的不正确,应该指定MDT

详细的资料参考如下;

http://www.cnblogs.com/bluedoctor/p/6236905.html

http://blog.csdn.net/xucuiping_/article/details/5979532

In the project properties you must also set HAVE_CONFIG_H

as force include the config header: "windows/confg.h"

By default lib/cpp/windows/force_inc.h defines:

#define BOOST_ALL_NO_LIB 1

#define BOOST_THREAD_NO_LIB 1

This has for effect to have the host application linking against Thrift to have to link with boost thread as a static library. If you wanted instead to link with boost thread

as a shared library,you'll need to uncomment those two lines, and recompile.

3)libthriftnb

依赖libevent,因此需要链接libevent

从目前的情况下看,只能够编译出静态库版本的thrift,预示着整一个工程只能够链接静态库

Depending upon whether you are linkingdynamically or statically and how

your build environment it set up,

you may need to include additional

libraries when linking against thrift,

such as librt and/or libpthread. If

you are using libthriftnb you will alsoneed libevent.

http://blog.csdn.net/zengraoli/article/details/51320593

究竟在什么地方会使用到openssl

在编译对应的lib文件时,并不需要引入openssl,仅当调用使用thrift的时候,加入了头文件TServerTransport.h才需要到openssl

参考

http://blog.csdn.net/kuenking111/article/details/47701847

原文地址:http://blog.51cto.com/fengyuzaitu/2071766

时间: 2024-10-28 09:58:21

Thrift第一课 源码编译的相关文章

SQLite第三课 源码编译错误以及解决

1)fts2 has a designflaw and has been deprecated 2)fts1 has a designflaw and has been deprecated 解决方案: 解析:FTS1和FTS2都有设计的缺陷,现在已经被废弃,目前已经提供了FTS3或者FTS4,这些作为全文搜索的模块,弥补了以前的FTS1的不足.如果确定不会使用到全文搜索,可以直接使用SQLITE_CORE,禁用.将SQLITE_CORE添加到编译选项. VS 的基本设置:属性>>C/C++&

【Linux探索之旅】第四部分第五课:源码编译,安装便利

内容简介 1.第四部分第五课:源码编译,安装便利 2.第四部分第六课:DNS和域名,一探究竟 源码编译,安装便利 这一课相对轻松,毕竟刚跨年(2015-2016)么,新年怎么能让大家一个头两个大呢~ 小编怎么可能这么坏呢?小编是这样的人吗?(是啊 -_-#). 之前的课程([Linux探索之旅]第二部分第七课:软件安装,如虎添翼)中,我们已经了解过Ubuntu这个Linux的发行版下安装软件是何等方便,用apt-get这个工具可以轻松搞定.这种方式可以让我们下载并安装大部分的软件. 其他Linu

九周第四次课(2月26日) 11.1 LAMP架构介绍 11.2 MySQL、MariaDB介绍 11.3/11.4/11.5 MySQL安装 扩展 mysql5.5源码编译安装

11.1 LAMP架构介绍11.2 MySQL.MariaDB介绍11.3/11.4/11.5 MySQL安装扩展mysql5.5源码编译安装   http://www.aminglinux.com/bbs/thread-1059-1-1.html mysql5.7二进制包安装(变化较大)  http://www.apelearn.com/bbs/thread-10105-1-1.html =====================================================

源码编译MYSQL遇到的几个小问题

闲来无聊,顺手练习一下好久没碰过的MYSQL,于是决定源码编译安装MYSQL-5.7.11,练习不打紧,出了好多问题,于是乎赶紧在这里总结一下: 先下载的编译器:cmake-2.8.12.2-4.el6.x86_64.rpm   MYSQL源码包:mysql-boost-5.7.11.tar.gz 接下来进行配置,编译,安装三部曲:(区别是我把数据目录单独放在了另外一张虚拟硬盘上-DMYSQL_DATADIR=/mydata/data   -DMYSQL_UNIX_DATA=/mydata/da

烂泥:mysql5.0数据库源码编译安装

本文首发于烂泥行天下. 本次实验的mysql.OS相关信息如下: Mysql:5.0.96 OS:centos 32 bit 最近公司要上新的业务,指明数据库使用的是mysql5.0版本.如果是使用rpm包安装的话,那就很简单了.直接使用yum安装即可,命令如下: yum –y install mysql mysql-server Yum方式安装完毕后,直接启动mysql数据库服务即可.如下图: 这样基本上就可以了. 但是这样安装mysql数据库,没有进行定制.比如mysql数据库的数据文件存储

源码编译lnmp之简介与nginx安装

源码编译lnmp 系统环境:Centos 6.6 相关软件包: nginx-1.11.6.tar.gz mysql-boost-5.7.15.tar.gz php-5.6.28.tar.bz2 下载地址: nginx官网:http://nginx.org mysql官网:http://dev.mysql.com/downloads/mysql/ php官网:http://jp2.php.net/downloads.php 第一部分:安装nginx 一.安装nginx时必须先安装相应的编译工具 1

源码编译安装

除了用rpm.yum安装包外,还可以用源码编译安装 源码包:代码可见的,要想在系统里运行,要翻译成机器语言,编译就是翻译的过程. 源码包下载最好去官方网站 以httpd为例 下载地址 以后下载的源码包最好放在/usr/local/src下,目的是为了以后方便维护 有时候,需要去看一下它里面的文件,比如INSTALL  README 安装指引 源码包安装三个步骤: 第一步:   ./configure --help  查看有哪些选项 --prefix   指定安装路径 检查这步操作是否有问题,没问

CentOS6.6源码编译升级GCC至4.8.2

升级前提 源码编译需要至少要有一个可用的gcc编译器. 可以用过yum自动安装或者手动下载rpm包安装. 通过yum可以看到至少需要下面这些安装包,所以可以到许多rpm package站点中搜索下载相应的rpm包,不过版本要搞对了,这个yum搜出来的版本是针对4.4.7的.所以需要什么版本gcc就寻找什么版本对应的依赖包.现在的rpm站点都会说明这个软件包依赖哪些软件包,被哪些软件包依赖,非常方便,不过找起来还是比较耗时的. 编译安装GCC4.8.2 下载gcc4.8.2源码包 1 curl -

Apache Spark源码走读之9 -- Spark源码编译

欢迎转载,转载请注明出处,徽沪一郎. 概要 本来源码编译没有什么可说的,对于java项目来说,只要会点maven或ant的简单命令,依葫芦画瓢,一下子就ok了.但到了Spark上面,事情似乎不这么简单,按照spark officical document上的来做,总会出现这样或那样的编译错误,让人懊恼不已. 今天闲来无事,又重试了一把,居然o了,做个记录,以备后用. 准备 我的编译机器上安装的Linux是archlinux,并安装后如下软件 scala 2.11 maven git 下载源码 第