nangua
nangua
I want to know when the async interface will be finished
我已经找到方法了,直接编译protobuf安装后是可以找到的。通过下载protobuf的二进制文件不行.相关的find_package找不到protobuf的情况也可以参考https://www.it610.com/article/1297843073920868352.htm。还有通过vcpkg安装protobuf也是可以找到的.另外需要注意的是cmake需要3.6之后才能通过find_package才能找到protobuf。相关内容在https://cmake.org/cmake/help/latest/module/FindProtobuf.html
@dengjunplusplus 感谢大佬百忙之中回复
有个老业务是在windows下跑的,周边一堆bat脚本,没有切换到linux的动力。现在想用sprc对这块的部分业务重构一下。目前还遇到一个问题. 按照文档说明,用cmake编译的时候,报错:CMake Error at src/CMakeLists.txt:31 (find_package): Could not find a package configuration file provided by "Workflow" with any of the following names: WorkflowConfig.cmake workflow-config.cmake Add the installation prefix of "Workflow"...
@holmes1412 ok,整出来了,windows上编译还是挺麻烦的,我个人建议在readme上写一下windows的编译过程,有利于SPRC的推广,应该有一部分用户是需要用到windows的,感觉这个算SRPC的优势了。tars太重,brpc只支持linux
在windows下编译出现问题: 1.编译srpc的时候CMakeLists中的要改成 if (WIN32) find_package(Protobuf REQUIRED) else () find_package(Protobuf CONFIG REQUIRED) endif () 才能编译通过,可能跟我环境有关? 2.编译sprc的时候报错: fatal error C1083: 无法打开包括文件: “zlib.h”: No such file or directory zip库我已经编译安装了,并且protobuf库也是用到了zip库
@holmes1412 find_package(...) - 1.我在win32下面直接使用CONFIG模式,我cmake打印出来的xxxxx_DIR变量为空,去掉CONFIG模式就可以找到XXXX_DIR变量 ``` message(WARNING "protobuf info:" "${Protobuf_FOUND} ${Protobuf_VERSION} ${Protobuf_INCLUDE_DIRS} ${Protobuf_LIBRARIES} ${Protobuf_PROTOC_LIBRARIES} ${Protobuf_LITE_LIBRARIES}") 上述语句在CONFIG下输入: protobuf info:1 3.15.8.0 在非CONFIG下输出: protobuf info:TRUE 3.15.8 C:/Program Files (x86)/protobuf/include C:/Program Files (x86)/protobuf/lib/libprotobuf.lib C:/Program Files...
@holmes1412 依赖库都拉下来了. 还是一样的 ``` 1>C:\Users\admin\Desktop\SRPC\srpc\src\compress\rpc_compress_gzip.h(22,10): fatal error C1083: 无法打开包括文件: “zlib.h”: No such file or directory 1>已完成生成项目“compress.vcxproj”的操作 - 失败。 2>LINK : fatal error LNK1181: 无法打开输入文件“C:\Users\admin\Desktop\SRPC\srpc\build\src\compress\compress.dir\Release\rpc_compress.obj” ``` 然后我在centos下编译了,没问题能完好使用
- 我说一下我的编译流程吧: ``` 1.我先编译的zlib 2.编译protobuf,带zlib依赖的 3.拉取srpc,然后切换到windows分支 4.编译workflow 5.编译sprc ``` 问题就出在第5步上,第五步需要改cmake的那个config,不改则找不到protobuf的头文件,改了则报错找不到zlib.h,我在 rpc_compress_gzip.h的第22行看到了包含zlib,h。我的cmake版本是cmake version 3.17.20032601-MSVC_2。我的protobuf版本是3.15.8
@dengjunplusplus ``` C:\Users\admin\Desktop\SRPC\srpc\_include\srpc\rpc_client.h(149,9): error C2039: "set_type": 不是 "WFComplexClientTask" 的成员 (编译源文件 C:\Users\admin\Desktop\SRPC\srpc\tutorial\tu torial-11-trpc_pb_server.cc) [C:\Users\admin\Desktop\SRPC\srpc\buildt\trpc_pb_server.vcxproj] ```