学习搜狗workflow心路历程(2)Linux/CentOS版本的环境搭建

497 阅读1分钟

1、准备好OpenSSL

[root@localhost ~]# yum -y install openssl-devel

[root@localhost ~]# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017

2、准备好CMake

本人使用的是v3.19版本

libaineu2004.blog.csdn.net/article/det…

 

3、准备好Qt Creator IDE

blog.csdn.net/libaineu200…

 

4、workflow源码下载

gitee.com/mirrors/sog…

master主干是Linux版本

 

5、CMakeLists.txt文件修改

(1)在文件\sogou-cpp-workflow\CMakeLists.txt末尾添加:

SUBDIRS(tutorial)
(2)修改\sogou-cpp-workflow\tutorial\CMakeLists.txt文件的局部内容

add_executable(server ${DIR10}/server.cc ${DIR10}/message.cc)
add_executable(client ${DIR10}/client.cc ${DIR10}/message.cc)
target_link_libraries(server ${WORKFLOW_LIB})
target_link_libraries(client ${WORKFLOW_LIB})

add_executable(server_demo ${DIR10}/server.cc ${DIR10}/message.cc)
add_executable(client_demo ${DIR10}/client.cc ${DIR10}/message.cc)
target_link_libraries(server_demo ${WORKFLOW_LIB})
target_link_libraries(client_demo ${WORKFLOW_LIB})

(3)添加\sogou-cpp-workflow\tutorial\CMakeLists.txt文件的红色字体内容

set(WORKFLOW_LIB workflow pthread OpenSSL::SSL OpenSSL::Crypto ${LIBRT})

否则编译案例会出错:

/usr/bin/ld: /home/firecat/Prj/workflow/sogou-cpp-workflow/_lib/libworkflow.a(WFGlobal.cc.o): undefined reference to symbol 'pthread_rwlock_wrlock@@GLIBC_2.2.5'
//usr/lib64/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

 

6、源码一键编译,成功!