• centos下apache thrift的安装


    参考:http://running.iteye.com/blog/1983463  thrift-0.9.0安装

    最好切换到root用户操作,避免不必要的麻烦。

    进行例子程序tutorial目录下,通过thrift 命令生成gen-cpp后,进入cpp文件夹用make编译时出现错误,我们查看一下Makefile:

    #
    # Licensed to the Apache Software Foundation (ASF) under one
    # or more contributor license agreements. See the NOTICE file
    # distributed with this work for additional information
    # regarding copyright ownership. The ASF licenses this file
    # to you under the Apache License, Version 2.0 (the
    # "License"); you may not use this file except in compliance
    # with the License. You may obtain a copy of the License at
    #
    #   http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing,
    # software distributed under the License is distributed on an
    # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    # KIND, either express or implied. See the License for the
    # specific language governing permissions and limitations
    # under the License.
    #
    
    BOOST_DIR = /usr/local/boost/include/boost-1_33_1/
    THRIFT_DIR = /usr/local/include/thrift
    LIB_DIR = /usr/local/lib
    
    GEN_SRC = ../gen-cpp/SharedService.cpp ../gen-cpp/shared_types.cpp ../gen-cpp/tutorial_types.cpp ../gen-cpp/Calculator.cpp
    
    default: server client
    
    server: CppServer.cpp
        g++ -o CppServer -I${THRIFT_DIR} -I${BOOST_DIR}  -I../gen-cpp -L${LIB_DIR} -lthrift CppServer.cpp ${GEN_SRC}
    
    client: CppClient.cpp
        g++ -o CppClient -I${THRIFT_DIR} -I${BOOST_DIR}  -I../gen-cpp -L${LIB_DIR} -lthrift CppClient.cpp ${GEN_SRC}
    
    clean:
        $(RM) -r CppClient CppServer

    在g++ 后添加 

    -DHAVE_NETINET_IN_H -DHAVE_PTHREAD_H 。

    变成:

    #
    # Licensed to the Apache Software Foundation (ASF) under one
    # or more contributor license agreements. See the NOTICE file
    # distributed with this work for additional information
    # regarding copyright ownership. The ASF licenses this file
    # to you under the Apache License, Version 2.0 (the
    # "License"); you may not use this file except in compliance
    # with the License. You may obtain a copy of the License at
    #
    #   http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing,
    # software distributed under the License is distributed on an
    # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    # KIND, either express or implied. See the License for the
    # specific language governing permissions and limitations
    # under the License.
    #
    
    BOOST_DIR = /usr/local/boost/include/boost-1_33_1/
    THRIFT_DIR = /usr/local/include/thrift
    LIB_DIR = /usr/local/lib
    
    GEN_SRC = ../gen-cpp/SharedService.cpp ../gen-cpp/shared_types.cpp ../gen-cpp/tutorial_types.cpp ../gen-cpp/Calculator.cpp
    
    default: server client
    
    server: CppServer.cpp
        g++ -DHAVE_NETINET_IN_H  -DHAVE_PTHREAD_H -o CppServer -I${THRIFT_DIR} -I${BOOST_DIR}  -I../gen-cpp -L${LIB_DIR} -lthrift CppServer.cpp ${GEN_SRC}
    
    client: CppClient.cpp
        g++ -DHAVE_NETINET_IN_H  -DHAVE_PTHREAD_H -o CppClient -I${THRIFT_DIR} -I${BOOST_DIR}  -I../gen-cpp -L${LIB_DIR} -lthrift CppClient.cpp ${GEN_SRC}
    
    clean:
        $(RM) -r CppClient CppServer

    这样再使用make编译就可以了。使用ls查看一下已经生成了server 和 client。运行一下

  • 相关阅读:
    关于display:flex
    关于兼容性——百分比对于IE浏览器的影响
    谈谈一个菜鸟写了一段时间的静态页面
    2016.01.02
    课时21:函数:lambda表达式
    课时20:内嵌函数和闭包
    课时19:函数:我的地盘听我的
    课时18:函数:灵活即强大
    课时17:函数:Python的乐高积木
    课时16:序列
  • 原文地址:https://www.cnblogs.com/sdlypyzq/p/3914869.html
Copyright © 2020-2023  润新知