Thrift第二课 Linux编译

简介:

应用环境Ubuntu

1 编译

 问题1: configure:error: "Error: libcrypto required."    

解决:apt-getinstall libssl-dev

 

 问题2:uint32_tdoes not name a type

解决:

   uint32_t定义文件在stdint.h,通过whereis stdint.h

   stdint.h: /usr/include/stdint.h

说明在标准的include路径下,将出现编译错误的源码文件中添加#include<stdint.h>

 

问题3:Makefile文件的BOOST库路径指定错误

解决:

MakeFile文件中:BOOST_DIR = /usr/local/include/boost

而实际的情况却是:BOOST_DIR=/usr/include/boost

 # apt-get installlibboost-dev

已经安装成功,但是不清楚安装的位置

 

查找本地boost库的安装目录:

whereis boost

boost:/usr/include/boost

 

问题 4:ntohs 存在未定义的编译错误

解决:

包含头文件#include<arpa/inet.h>

 

问题5:编译例子出现thrift库函数大量未定义的编译错误

解决:

主要是链接-lthrift必须放在CppClient.cppCppServer.cpp的后面,修改Makefile文件,调整两者的顺序即可。当某一个源码文件编译找不到函数定义的时候,只会往后查找函数定义





     本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/2071767,如需转载请自行联系原作者

相关文章
|
6月前
|
Linux 开发工具 C语言
Linux 安装 gcc 编译运行 C程序
Linux 安装 gcc 编译运行 C程序
109 0
|
28天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
76 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
1月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
14天前
|
Linux
Linux - 如何编译源码安装软件
源码编译安装通常包括三个步骤:1) `./configure` 检测平台特征和依赖项,生成 Makefile;2) `make` 编译源码,生成可执行文件;3) `make install` 将可执行文件安装到指定目录并配置环境变量。
29 0
|
1月前
|
Linux 编译器 C语言
Linux c/c++之多文档编译
这篇文章介绍了在Linux操作系统下使用gcc编译器进行C/C++多文件编译的方法和步骤。
39 0
Linux c/c++之多文档编译
|
1月前
|
Linux 开发工具
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
【Linux快速入门(二)】Linux与ROS学习之编译基础(make编译)
|
3月前
|
监控 机器人 Unix
GoLand——windows下如何编译Linux二进制文件
GoLand——windows下如何编译Linux二进制文件
52 1
GoLand——windows下如何编译Linux二进制文件
|
2月前
|
Linux
用clang编译Linux内核
用clang编译Linux内核
|
6月前
|
Linux
Linux编译FFmpeg
Linux编译FFmpeg
143 0
|
3月前
|
Linux C语言
深度探索Linux操作系统 —— 编译过程分析
深度探索Linux操作系统 —— 编译过程分析
28 2