-
Notifications
You must be signed in to change notification settings - Fork 393
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
windows下编译找不到protobuf #62
Comments
如果是命令行编译,执行CMake时加上“-DCMAKE_PREFIX_PATH=xxx”,后面的xxx替换成你自己的路径protobuf路径。 |
我已经找到方法了,直接编译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 感谢大佬百忙之中回复 |
感谢使用srpc哈。有什么问题随时反馈。 |
有个老业务是在windows下跑的,周边一堆bat脚本,没有切换到linux的动力。现在想用sprc对这块的部分业务重构一下。目前还遇到一个问题. 按照文档说明,用cmake编译的时候,报错:CMake Error at src/CMakeLists.txt:31 (find_package):
Add the installation prefix of "Workflow" to CMAKE_PREFIX_PATH or set |
@chentiannan 你好,Windows下依赖的workflow需要拉取windows分支~ |
@holmes1412 ok,整出来了,windows上编译还是挺麻烦的,我个人建议在readme上写一下windows的编译过程,有利于SPRC的推广,应该有一部分用户是需要用到windows的,感觉这个算SRPC的优势了。tars太重,brpc只支持linux |
@chentiannan 感谢认可!(开心到飞起~~~ |
在windows下编译出现问题: 2.编译sprc的时候报错: |
我们的zlib默认是用的submodule,如果里这么下载srpc: |
是不是你clone的时候一直没有加--recursive? |
你好,单独讲一下
如果是WIN32,是要走的Config模式才能找到Protobuf~所以:
|
@holmes1412
|
@chentiannan 那这样吧你先确认下你拉srpc代码下来是包括依赖库的么?即是否是recursive的? |
@holmes1412 依赖库都拉下来了. 还是一样的
然后我在centos下编译了,没问题能完好使用 |
问题就出在第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 |
我们让windows端的同学看一看。之前没有遇到类似的问题。 |
@chentiannan 按照下面的步骤可以很方便的编译
|
|
看起来你的srpc版本比workflow老啊?如果是clone --recursive最新代码,不应该有这个问题啊。 |
ok,拉取最新的可以使用了。SPRC现在支持自定义二进制协议吗?类似于BRPC |
@chentiannan 你好~
|
您可以先看看workflow项目。自定义协议是这个文档: |
建议写个Windows编译的说明,折腾死我了。 环境是Win10, VS2019。 现在试试 dengjunplusplus 说的步骤,一步一步用vcpkg安装看看 |
@ruoleng 你好,这个issue上面有具体的编译步骤#62 (comment) ,麻烦参考下~ |
第四步编译srpc失败,项目compress编译失败,缺少依赖库的头文件 |
@Crazing 试一下:vcpkg install lz4 snappy |
参考了,后面用vcpkg安装成功了,但是tutorial编译失败(vcpkg安装后的srpc 里面 _bin 路径不对,老是无法将.proto生成对应的pb跟srpc消息源文件),又从vcpkg中卸载srpc。 最后还是手动编译安装,尝试修改srpc-config.cmake 文件里面的_bin路径,才成功的。 所以目前安装成功并正在使用的是:按照用 #62 (comment) 的步骤 vcpkg安装了依赖项目(包括workflow),手动编译srpc项目。再手动设置tutorial的cmake-gui的依赖项目,没有用vcpkg中的,因为srpc是手动,用vcpkg安装的包( 带CMAKE_TOOLCHAIN_FILE)会找不到srpc(毕竟是手动安装的)。 中间还出现过手动编译后,cmake生成的 srpc-config.cmake 文件中的 set_and_check(SRPC_BIN_DIR "x'x'x")路径不对,老是vcpkg的。 对了,我安装的是x64的。 在另外的电脑用vcpkg install srpc:x64-windows 安装成功,生成tutorial项目成功,但是编译失败。 |
我在windows下安装了protobuf,并加入了环境变量。在用cmake对srpc进行编译的时候报错,报错内容如下:
CMake Error at src/CMakeLists.txt:17 (find_package):
Could not find a package configuration file provided by "Protobuf" with any
of the following names:
Add the installation prefix of "Protobuf" to CMAKE_PREFIX_PATH or set
"Protobuf_DIR" to a directory containing one of the above files. If
"Protobuf" provides a separate development package or SDK, be sure it has
been installed.
The text was updated successfully, but these errors were encountered: