安装并使用protobuff
目录
1、安装protobuff
直接使用sudo apt-get install 进行安装。
sudo apt-get install libprotobuf-dev protobuf-compiler
注意:使用下载源码编译的方法安装时,采用自定义路径安装,无法正常使用,目前暂时未找到原因。
2、下载源码
git clone https://github.com/protocolbuffers/protobuf
3、运行示例程序
运行protobuff中的examples文件夹中提供的addressboox的示例程序
-
方式一:make
#编译
make cpp
#运行
./add_person_cpp addressbook.data
./list_person_cpp addresssbook.data
-
方式二:cmake
由于examples中提供的CMakeLists.txt编译的时候出现问题,故将其改为如下:
cmake_minimum_required(VERSION 2.8)
PROJECT (cppTest)
# Find required protobuf package
find_package(Protobuf REQUIRED)
if(PROTOBUF_FOUND)
message(STATUS "protobuf library found")
else()
message(FATAL_ERROR "protobuf library is needed but cant be found")
endif()
include_directories(${PROTOBUF_INCLUDE_DIRS})
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS addressbook.proto)
ADD_EXECUTABLE(add_person_cpp add_person.cc ${PROTO_SRCS} ${PROTO_HDRS})
target_link_libraries(add_person_cpp ${PROTOBUF_LIBRARIES})
ADD_EXECUTABLE(list_person_cpp list_people.cc ${PROTO_SRCS} ${PROTO_HDRS})
target_link_libraries(list_person_cpp ${PROTOBUF_LIBRARIES})
编译和运行
#编译
mkdir build
cmake ..
make
#运行
./add_person_cpp addressbook.data
./list_person_cpp addresssbook.data