一些总结

一些简单的总结,没有顺序,想到什么就写了什么

1.c++ so库的问题

不太懂c++代码。暂时编译了protobuf,按照版本以及so后缀,推测有下面的关系

3.7.1 18
3.7.0 17

3.11 22
3.12 23  

 

但是还有一个问题就是x86的so库显示的可能跟arm的不一样,比如:libprotobuf.so.3.11.2.0。

这样的是需要cmake编译,3.11.2就是版本号。

 

2.cmake问题

一般yum install cmake这样安装的版本低,做cmake肯定是报错的。

按照这样的方式解决

wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz

tar xvf cmake-3.5.2.tar.gz

cd cmake-3.4.3

./configure

make # -j8

make intall

vim ~/.bash_profile

PATH=/usr/local/bin:$PATH:$HOME/bin

cmake --version

3.grpc编译

libaddress_sorting.so.9
libgpr.so.9
libgrpc.so.9
libupb.so.9

这几个是属于grpc编译的。那么根据后缀9可以知道版本是:1.26 

编译命令:

git submodule update --init --recursive # 确保所有东西都下下来了
make -j8
make install # 可以先不装,在需要的时候再装,例如pCheckLib.so/fCheckLib.so

4.编译protobuf

按照版本对应下载代码就行了

https://github.com/protocolbuffers/protobuf/releases?after=v3.0.0-alpha-3.1

一般的编译方式:

 

git clone xxx # 下源码
cd protobuf
chmod +x autogen.sh
./autogen.sh
./configure
./configure --prefix=/usr 指定目录
make -j8
make install # 可以先不装,在需要的时候再装,例如pCheckLib.so/fCheckLib.so

cmake编译方式

mkdir cmake/build
cd cmake/build

cmake -DBUILD_SHARED_LIBS=ON -Dprotobuf_BUILD_TESTS=OFF ..

make install

5.编译libcares.so.2

这个也是grpc相关的。

https://ivanzz1001.github.io/records/post/cplusplus/2017/11/30/cplusplus_grpc

# wget https://c-ares.haxx.se/download/c-ares-1.15.0.tar.gz
# tar -zxvf c-ares-1.15.0.tar.gz 
# cd c-ares-1.15.0/
# ./configure --prefix=/usr/local/cares
# make
# make install
# ls /usr/local/cares
include  lib  share

 

你可能感兴趣的:(运维)