thrift的编译过程

来源:互联网 发布:淘宝小号 周点数查询 编辑:程序博客网 时间:2024/05/18 01:23

终于到终点了,之前的都是做前期准备

一、thrift的编译。

  • windows opnessl安装
  • libevent windows vs2010
  • Windows boost库安装 VS2010
  • \thrift-0.9.3\lib\cpp下有VS工程文件thrift.sln,用VS2010打开之后,会看到两个工程。
    1)libthrift工程配置:
        libthrift>属性->C/C++->常规->附加包含目录->\boost\boost_1_53_0
        ibthrift>属性->库管理器->常规->附加库目录->\boost\boost_1_53_0\lib
        注意是lib不是libs
    2)libthriftnb工程配置:
        libthriftnb>属性->C/C++->常规->附加包含目录->
            \boost\boost_1_53_0
            \libevent-2.0.22 这里在libevent安装的时候没有添加,不过在这里还是乖乖加上吧。
        \libevent-2.0.22\include
            \libevent-2.0.22\WIN32-Code
            libthriftnb>属性->库管理器->常规->附加库目录-> 这里没有Linker选项,不过在Librarian里面配置是一样的效果
            \boost\boost_1_53_0\lib

    1. 编译完成之后会在thrift-0.9.3\lib\cpp\Debug下生成libthrift.lib文件,和libthriftnb.lib文件。

二、Thrift项目的创建。

语法就不详述了

  1. 创建文件hello.thrift,内容如下:

    service hello {
    void func1( )
    }
  2. thrift –gen cpp hello.thrift (已将thrift,exe文件拷贝至C:\System目录下),会生成一个gen-cpp文件夹。
  3. 创建工程TestServer,将gen-cpp下的Server相关的文件拷贝至工程中。对应的创建一个TestClient工程将Client相关的cpp文件拷贝进来。
  4. 当然就是要配置Include和lib目录了。
Sever工程 Server>属性->C/C++->常规->附加包含目录->\thrift-0.9.3\lib\cpp\srcSever工程 Server>属性->C/C++->常规->附加包含目录->\thrift-0.9.3\lib\cpp\src\thriftSever工程 Server>属性->连接器->附加库目录->\boost\boost_1_53_0\libSever工程 Server>属性->连接器->附加库目录->\thrift-0.9.3\lib\cpp\Debug附加库目录指向的是刚刚编译出的Debug目录Client工程 Client>属性->C/C++->常规->附加包含目录->\boost\boost_1_53_0Client工程 Client>属性->C/C++->常规->附加包含目录->\thrift-0.9.3\lib\cpp\srcClient工程 Client>属性->C/C++->常规->附加包含目录->\thrift-0.9.3\lib\cpp\src\thriftClient工程 Client>属性->连接器->附加库目录->\boost\boost_1_53_0\libClient工程 Client>属性->连接器->附加库目录->\thrift-0.9.3\lib\cpp\Debug

    5、 如果没有意外基本就可以运行了,后面就自己调试吧。


还是有些问题,待续。。

这是个续。。

这里写图片描述

hello工程编译之后出了很多链接的问题,也是不太懂就慢慢摸索一下。
主要是这些问题:TProtocol,TOutput,TConcurrentSendSentry,TConcurrentClientSyncInfo,TConcurrentRecvSentry(这个好像也没有,也不影响编译)。这其实都是libthrift工程中的文件,但是默认是没有编译进libthrift.lib里面的,这个还不清楚是为什么,那么解决办法就出来了。在libthrift工程中加入这些文件,重新编译。
这里写图片描述

注:好像之前说的版本问题都不太成立了

这个markdown真是用不好。。。。

原创粉丝点击