Ubuntu中thrift安装后的测试

        在安装完软件之后总是要测试一下功能,所以在完成thrift的安装后,想测试一下其功能,就在网上搜了测试的教程,大多数都是进入/thrift/tutorial/cpp文件夹下进行make编译,但我在进行编译的时候出现了如下情况:

Ubuntu中thrift安装后的测试

在cpp文件夹中并没有生成可执行的CppServer、CppClient。后来无意中安装了cmake安装包,此时在进行make编译时虽然没有出现这样的问题也没有报错,但还是没有生成可执行文件CppServer、CppClient


最后参考一篇文章,对thrift包中的测试文档重新进行编译生成,最终达到了目的,文章链接如下:https://blog.****.net/yuzx2008/article/details/50179033点击打开链接

在/thrift-0.10.0/tutorial目录下有tutorial.thrift文件,此时执行thrift -r --gen cpp tutorial.thrift,将会在/thrift-0.10.0/tutorial目录下生成gen-cpp文件夹:

Ubuntu中thrift安装后的测试

Ubuntu中thrift安装后的测试

进入cpp目录,将其下的gen-cpp文件夹删除,将在tutorial下生成的gen-cpp文件夹拷贝到cpp文件夹下,对cpp文件夹下的CMakeLists.txt文件进行备份:cp CMakeLists.txt CMakeLists.txt.backup,因为后面要对其修改,所以最好备份原文件,按照链接中的说明,要将/thrift-0.10.0/build/cmake文件夹下的ThriftMacros.cmake文件保存一份重命名为ThriftMacros,因为还没有仔细的研究过,所以这样做的原因还不懂。

Ubuntu中thrift安装后的测试

Ubuntu中thrift安装后的测试

Ubuntu中thrift安装后的测试

返回进入到cpp目录,进行cmake 操作,在执行cmake命令之前要安装cmake,执行sudo apt install cmake即可。

Ubuntu中thrift安装后的测试

此时执行cmake会报错,1)include could not find load file:  ThriftMacros:2) Unknown CMake command "LINK_AGAINST_THRIFT_LIBRARY".3) No cmake_minimum_required command is present.  A line of code such as
    cmake_minimum_required(VERSION 3.5)

Ubuntu中thrift安装后的测试

Ubuntu中thrift安装后的测试

这应该是CMkeLists.txt文件编写有问题,因此需要对其修改,此处参照上面的链接,将CMkeLists.txt的27行注释掉,将所有的”LINK_AGAINST_THRIFT_LIBRARY“替换为“target_link_libraries”,并在文档中指定cmake的版本:

Ubuntu中thrift安装后的测试

Ubuntu中thrift安装后的测试Ubuntu中thrift安装后的测试

Ubuntu中thrift安装后的测试

此时cmake将会成功:

Ubuntu中thrift安装后的测试

然后执行make进行编译,将会生成可执行文件:

Ubuntu中thrift安装后的测试

Ubuntu中thrift安装后的测试

执行可执行文件:./TutorialServer,在打开一个终端,执行./TutorialClient,结果如下:

Ubuntu中thrift安装后的测试

Ubuntu中thrift安装后的测试

至此,测试完成。

其他测试参考链接:https://blog.****.net/zhumingyuan111/article/details/70199062点击打开链接

                              https://blog.****.net/zsk4232000/article/details/50353777点击打开链接

                              https://blog.****.net/feng973/article/details/70160571点击打开链接