社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
安装protobuf
PROTOBUF_USE_DLLS;
宏定义 libprotocd.lib; libprotobufd.lib
protoc -I=$SRC_DIR --cpp_out=$DST_DIR $SRC_DIR/addressbook.proto
注:windows 平台主要是注意 因为项目默认使用的是 动态链接的方式 我之前踩坑就是用静态库去链接 ;其次是 采用静态链接的方式 需要 加一个 宏定义 也就是在 预处理器中加的那个 。
如果还有其他坑 ,最快的解决方式就是 对照源码中的测试项目 去对照他的配置
安装protobuf
这个简单 官方有给说明 https://github.com/google/protobuf/blob/master/src/README.md
使用
主要是在使用protobuf 中 编译项目时遇到一些问题
下面给出 可以成功编译 含有 protobuf 项目的一段 makefile 参考
CXX_SOURCES=$(wildcard *.cpp)
CXX_SOURCES_PROTOBUF=$(wildcard *.cc)
CXX_OBJECTS=$(OBJ_DIR)/$(patsubst %.cpp,%.o,$(CXX_SOURCES))
CXX_OBJECTS_PROTOBUF=$(OBJ_DIR)/$(patsubst %.cc,%.o,$(CXX_SOURCES_PROTOBUF))
BIN_DIR=./bin
OBJ_DIR=./obj
all: $(CXX_OBJECTS) $(CXX_OBJECTS_PROTOBUF) #-lprotobuf
g++ -g -pthread -I/usr/local/include -L/usr/local/lib -std=gnu++11 $(CXX_OBJECTS) $(CXX_OBJECTS_PROTOBUF) -o IMServer.out
$(OBJ_DIR)/%.o: %.cpp
g++ -c -g $< -std=gnu++11 -o $@
$(OBJ_DIR)/%.o: %.cc
g++ -c -g $< -std=gnu++11 -o $@
主要是需要在链接的时候指定库目录 好吧 也没什么难度 。。。。
使用 (番外篇)
一定有同学注意到 vs2017 也可以开发 - 编译 - 调试 linux 项目了 ,没错 我就是用vs 在开发。
然后在编译这个项目时 遇到莫名奇妙的问题 。 当然是项目配置问题 。。 这里也贴一下配置的过程
protobuf;
-pthread
主要问题还是配置库这里 其实套路都一样 。
本篇 完结!
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!