8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
This post will tell you how to cross compile gPRC static lib for ARM.
前段时间尝试交叉编译gRPC遇到了不少的麻烦,写篇post记录一下。
gRPC
Preparation
First of all, you should have gRPC source code. git clone it from github. Then update submodules:1
2cd grpc
git submodule update --init
Install zlib for your arm compiler[Optional]
libz is one of gRPC dependencies. If you haven’t installed it for your arm compiler yet, you may need to install it. You can get zlib at zlib Home Site. After download and unzip it, set cross compiler and build it:1
2
3
4export CC=arm-linux-gnueabihf-gcc
export AR=arm-linux-gnueabihf-ar
./configure
make -j4
then install it if build succeed:1make install prefix=/usr/arm-linux-gnueabihf
Compile and install protobuf & gRPC for HOST
protobuf:1
2
3
4cd grpc/third_party/protobuf
./autogen.sh && ./configure && make -j4
sudo make install -j4
sudo ldconfig
gRPC:1
2cd ..
make -j4 && sudo make install -j4 && sudo ldconfig
Cross compile static lib for ARM
make plugins first:1
2make clean
make plugins CC=arm-linux-gnueabihf-gcc -j4
Cross compile gRPC:1
2
3
4
5
6
7
8
9
10export GRPC_CROSS_COMPILE=true
export GRPC_CROSS_AROPTS="cr --target=elf32-little"
make -j4 HAS_PKG_CONFIG=false
CC=arm-linux-gnueabihf-gcc
CXX=arm-linux-gnueabihf-g++
RANLIB=arm-linux-gnueabihf-ranlib
LD=arm-linux-gnueabihf-ld
LDXX=arm-linux-gnueabihf-g++
AR=arm-linux-gnueabihf-ar
PROTOBUF_CONFIG_OPTS="--host=arm-linux-gnueabihf --with-protoc=/usr/local/bin/protoc" static
static is important. I tried to build shared lib but there will be a lot of errors because arm-linux-gnueabihf-ld doesn’t take “-Wl” as a parameter. If build succeed, you can find your static lib at “grpc/libs/opt”.