欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

linux下安装protobuf及cmake编译

程序员文章站 2022-05-04 13:46:49
一.protobuf 安装 protobuf版本:2.6.1 下载地址:https://github.com/google/protobuf/archive/v2.6.1.zip 解压之后进入目录 修改autogen.sh 将autogen.sh内的上述内容修改为 然后执行autogen.sh ./ ......

一.protobuf 安装

protobuf版本:2.6.1

下载地址:https://github.com/google/protobuf/archive/v2.6.1.zip

解压之后进入目录

修改autogen.sh

echo "Google Test not present.  Fetching gtest-1.5.0 from the web..."
curl http://googletest.googlecode.com/files/gtest-1.5.0.tar.bz2 | tar jx
mv gtest-1.5.0 gtest

 将autogen.sh内的上述内容修改为

wget https://github.com/google/googletest/archive/release-1.5.0.tar.gz
tar xzvf release-1.5.0.tar.gz
mv googletest-release-1.5.0 gtest

 然后执行autogen.sh

./autogen.sh

目录中就会生成出.configure文件

接着运行

./configure
make
make check
make install

 设置环境变量

sudo vi /etc/profile
export PATH=$PATH:/usr/local/bin
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
cd ~
vi .profile
export PATH=$PATH:/usr/local/bin
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

 配置动态链接库路径

sudo vi /etc/ld.so.conf
include /usr/local/lib
 sudo ldconfig

二.编写CMakeLists

cmake_minimum_required (VERSION 2.8)

project (Demo1)
SET(SRC_LIST test1.cpp)
# 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 test1.proto)

ADD_EXECUTABLE(Demo1 ${SRC_LIST} ${PROTO_SRCS} ${PROTO_HDRS})

target_link_libraries(Demo1 ${PROTOBUF_LIBRARIES})

#add_executable(Demo test1.cpp)

 

 

                                                                                                                 如果你觉得对你有用请付款

linux下安装protobuf及cmake编译