linux下安装protobuf及cmake编译
程序员文章站
2024-01-26 22:11:22
一.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)
如果你觉得对你有用请付款