1.
遇到如下问题:找不到.proto文件。
先查看是否安装编译器
查看这些缺少的文件,发现文件也都存在
在 Linux 系统上,Protocol Buffers 的 .proto
文件通常位于 /usr/include/google/protobuf/
目录下
那么问题就出现在版本上,可以找到自己的编译器位置,使用指定版本的编译器,而不是依赖于系统默认或其他路径下的版本,要确保与项目中要求的版本匹配
第一次cmake使用下面这个命令(远程的话,要在本机远程终端登录),然后编译就可以。 cmake -D Protobuf_PROTOC_EXECUTABLE=/usr/local/bin/protoc ../ 再之后就可以使用cmake ../了
2. 链接错误
两个文件都包含了一个头文件,即使该头文件加了防止重复包含的宏定义,依然会出现连接错误。
原因是这个头文件里存在函数的定义,而不是声明。
解绝办法是在头文件的函数定义前加上inline ,或者是把函数的定义放在原文件中,头文件只声明