protobuflinux编译
A. protobuf开发 linux下需要包含哪些库
仅仅卸载
protobuf-compiler
1sudo
apt-get
remove
protobuf-compiler卸载
protobuf-compiler和他的依赖
1sudo
apt-get
remove
--auto-remove
protobuf-compiler若是连配置和数据都删掉就使用
12sudo
apt-get
purge
protobuf-compilersudo
apt-get
purge
--auto-remove
protobuf-compiler希望能够帮到你
首先自己设法下载一个源码包:protobuf-2.4.1.tar.bz2,假设放到/data目录下
1.安装protobuf
tar jxvf protobuf-2.4.1.tar.bz2
cd /data/protobuf-2.4.1
./configure
make
make install
ldconfig
2. 安装python版本
cd /data/protobuf-2.4.1/python
python setup.py build
python setup.py install
安装完成。
注意:如果是在虚拟环境下安装,则上面第一步需要以sudo权限进行,第二步可以切换到虚拟环境下进行。
C. 如何编译安装protobuf极其python版本
下面以2.4.1为例。
首先自己设法下载一个源码包:protobuf-2.4.1.tar.bz2,假设放到/data目录下
1.安装protobuf
tar jxvf protobuf-2.4.1.tar.bz2
cd /data/protobuf-2.4.1
./configure
make
make install
ldconfig
2. 安装python版本
cd /data/protobuf-2.4.1/python
python setup.py build
python setup.py install
安装完成。
D. linux怎么安装protobuf-master
默认安装步骤(需root权限):
$wget https://github.com/google/protobuf/archive/v2.6.1.zip
$unzip protobuf-2.6.1.zip
$cd protobuf-2.6.1
下载自github的代码需要首先执行 $ ./autogen.sh 生成configure文件
$ ./configure
$ make
$ make check
$ make install
我使用的是centos系统
usr/local/bin
usr/local/lib,
usr/local/include
是也系统默认路径之一,所以到这一步就可以使用protobuf了
$ protoc -I=./ --cpp_out=./ test.proto
到你的test.proto文件所在目录使用命令protoc -I=./ --cpp_out=./ 生成C++版本的协议文件
一切OK的话,你回在当前目录看到.h和.cc文件修改安装路径(非root用户需要修改安装路径):
protobuf默认安装在 /usr/local 目录
你可以修改安装目录通过 ./configure --prefix=命令
虽然我是root用户但觉得默认安装过于分散,所以统一安装在/usr/local/protobuf下
$./configure --prefix=/usr/local/protobuf
$ make
$ make check
$ make install
到此步还没有安装完毕,在/etc/profile 或者用户目录 ~/.bash_profile
添加下面内容
####### add protobuf lib path ########
#(动态库搜索路径) 程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/
#(静态库搜索路径) 程序编译期间查找动态链接库时指定查找共享库的路径
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf/lib/
#执行程序搜索路径
export PATH=$PATH:/usr/local/protobuf/bin/
#c程序头文件搜索路径
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/
#c++程序头文件搜索路径
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/
#pkg-config 路径
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
######################################
好了,goog luck
E. 如何交叉编译Python到ARMLinux平台 / 蓝讯
步骤一:部署protoc.exe
1)sudo su ---进入管理模式
//以下操作切换至protobuf文件夹下
2)。/configure
3)make
4)make check
5)make install
此时可以查看protobuf文件夹下面的makefile文件,可以查看-build表示的本机环境以及-host表示的编译库的运行环境
我本地的-build=x86_64-apple-darwin12.3.0
-host=x86_64-apple-darwin12.3.0
(这两个参数在后续配置脚本需要用到,与后面脚步的i686-apple-darwin12.3.0以及arm-apple-darwin12.3.0后缀“arm-apple-darwin12.3.0”保持一致)
6)make distclean清理已生成的makefile,为交叉编译配置新makefile做准备
F. linux 和windows 的protoc生成的proto文件不同吗
当前版本为2.3.0,下载两个压缩包:protoc-2.3.0-win32.zip和protobuf-2.3.0.zip,前者是protobuf的编译器,后者包含了有三程序语言的开发包。 2.解压 首先解压protoc-2.3.0-win32.zip,把protoc.exe文件放到path路径中,最简单的做法就是把这个...
G. protobuf c++代码怎么编译
步骤一:部署protoc.exe 1)sudo su ---进入管理模式 //以下操作切换至protobuf文件夹下 2)./configure 3)make 4)make check 5)make install 此时可以查看protobuf文件夹下面的makefile文件,可以查看-build表示的本机环境以及-host表示的编译...
H. 如何实现protobuf在XCODE上armv7/armv7s/i386的交叉编译
步骤一:部署protoc.exe
1)sudo su ---进入管理模式
//以下操作切换至protobuf文件夹下
2)./configure
3)make
4)make check
5)make install
此时可以查看protobuf文件夹下面的makefile文件,可以查看-build表示的本机环境以及-host表示的编译库的运行环境
我本地的-build=x86_64-apple-darwin12.3.0
-host=x86_64-apple-darwin12.3.0
(这两个参数在后续配置脚本需要用到,与后面脚步的i686-apple-darwin12.3.0以及arm-apple-darwin12.3.0后缀“arm-apple-darwin12.3.0”保持一致)
6)make distclean清理已生成的makefile,为交叉编译配置新makefile做准备
步骤二:配置交叉编译
1)执行脚本ios-build.sh,脚本内容如下:
configure_for_platform() {
export PLATFORM=$1
#export PLATFORM=iPhoneOS
echo "Platform is ${PLATFORM}"
if [ "$PLATFORM" == "iPhoneSimulator" ]; then
export ARCHITECTURE=i386
export ARCH=i686-apple-darwin12.3.0
fi
if [ "$PLATFORM" == "iPhoneOS" ]; then
export ARCHITECTURE=$2
export ARCH=arm-apple-darwin12.3.0
fi
export ARCH_PREFIX=$ARCH-
export SDKVER="6.1"
#sdk版本号必须正确
export
DEVROOT=/Applications/Xcode.app/Contents/Developer/Platforms/${PLATFORM}.platform/Developer
export SDKROOT="$DEVROOT/SDKs/${PLATFORM}$SDKVER.sdk"
export
PKG_CONFIG_PATH="$SDKROOT/usr/lib/pkgconfig:$DEVROOT/usr/lib/pkgconfig"
export AS="$DEVROOT/usr/bin/as"
export ASCPP="$DEVROOT/usr/bin/as"
export AR="$DEVROOT/usr/bin/ar"
export RANLIB="$DEVROOT/usr/bin/ranlib"
#export CPP="$DEVROOT/usr/bin/c++"
#export CXXCPP="$DEVROOT/usr/bin/c++"
export CC="$DEVROOT/usr/bin/gcc"
export CXX="$DEVROOT/usr/bin/g++"
export LD="$DEVROOT/usr/bin/ld"
export STRIP="$DEVROOT/usr/bin/strip"
export LIBRARY_PATH="$SDKROOT/usr/lib"
export CPPFLAGS=""
#export CFLAGS="-arch armv7 -fmessage-length=0 -pipe -fpascal-strings
-miphoneos-version-min=4.0 -isysroot=$SDKROOT -I$SDKROOT/usr/include
-I$SDKROOT/usr/include/c++/4.2.1/"
export CFLAGS="-arch ${ARCHITECTURE} -fmessage-length=0 -pipe
-fpascal-strings -miphoneos-version-min=4.0 -isysroot=$SDKROOT
-I$SDKROOT/usr/include -I$SDKROOT/usr/include/c++/4.2.1/"
export CXXFLAGS="$CFLAGS"
#export LDFLAGS="-isysroot='$SDKROOT' -L$SDKROOT/usr/lib/system
-L$SDKROOT/usr/lib/"
export LDFLAGS="-arch ${ARCHITECTURE} -isysroot='$SDKROOT'
-L$SDKROOT/usr/lib/system -L$SDKROOT/usr/lib/"
./configure --host=${ARCH} --with-protoc=protoc --enable-static
--disable-shared
}
mkdir ios-build
#build for iPhoneSimulator
configure_for_platform iPhoneSimulator
make clean
make
cp src/.libs/libprotobuf-lite.a ios-build/libprotobuf-lite-i386.a
#提取完整版本(i386)
cp src/.libs/libprotobuf.a ios-build/libprotobuf-i386.a
#build for iPhoneOS armv7
configure_for_platform iPhoneOS armv7
make clean
make
cp src/.libs/libprotobuf-lite.a ios-build/libprotobuf-lite-armv7.a
#提取完整版本(armv7)
cp src/.libs/libprotobuf.a ios-build/libprotobuf-armv7.a
#build for iPhoneOS armv7s
configure_for_platform iPhoneOS armv7s
make clean
make
cp src/.libs/libprotobuf-lite.a ios-build/libprotobuf-lite-armv7s.a
#提取完整版本(armv7s)
cp src/.libs/libprotobuf.a ios-build/libprotobuf-armv7s.a
make clean
#cerate a fat library containing all achitectures in libprotobuf-lite.a
xcrun -sdk iphoneos lipo -arch armv7 ios-build/libprotobuf-lite-armv7.a -arch
armv7s ios-build/libprotobuf-lite-armv7s.a -arch i386
ios-build/libprotobuf-lite-i386.a -create -output
ios-build/libprotobuf-lite.a
#合并三个完整版本(libprotobuf.a)
xcrun -sdk iphoneos lipo -arch armv7 ios-build/libprotobuf-armv7.a -arch
armv7s ios-build/libprotobuf-armv7s.a -arch i386 ios-build/libprotobuf-i386.a
-create -output ios-build/libprotobuf.a
2)将打包生成的libprotobuf-lite.a和libprotobuf.a复制至工程下进行编译,可以编译protobuf在xcode上的模拟器版本和真机版本,完成交叉编译。
I. 怎么样编写Protobuf的.proto文件
ProtoBuf java 包编译ProtoBuf的官方下载包并不包含jar文件,需要用户自己configure/make….来自行编译。由于Windows上没有编译环境,就用了一个笨一点方法处理了。
分别下载:
protobuf-2.4.1.zip ProtoBuf的源文件(包含了C++/Java/Python)的源文件
protoc-2.4.1-win32.zip 已经编译过的用于Windows平台的protoc命令(该命令用于将.proto文件转化为Java或C++源文件)。
分别解析这两个文件,你可以在protoc-2.4.1-win32.zip解压后的文件中找到一个protoc.exe文件,将其到protobuf-2.4.1/src目录下,然后进入protobuf-2.4.1/java,执行:
mvn install
J. 在linux下,利用protobuf定义数据格式,怎样利用socket来发送和解析
网上有很多网络编程代码