microsoft/cpprestrest linux离线手动安装
官方链接: https://github.com/Microsoft/cpprestsdk/wiki/How-to-build-for-Linux
依赖模块版本使用说明:
gcc/g++/c++:5.4.0版本–>查询命令gcc -v,g++ -v,c++ --version【官网声明最低4.8,最好用5.0以上,否则有语法问题】
libboost1.68–>libboost查询繁琐,总的来说find /usr -name “libboost*”,找出来的结果 若有多个版本,最好自己用boost写个demo,ldd xxxx[demoname]查看依赖
openssl(1.0.1e/1.0.1k)–>openssl version
cmake(3.12.4)–>cmake -v
个人测试虚拟机:centos7【原装gcc4.8、libboost1.53、openssl1.0.1e、cmake2.8】,下列路径根据Linux自行确认。
gcc/g++编译-升级
注意gcc所在目录有足够空间(5g),要不然会失败
官网下载gcc安装包
-
gcc编译
tar -xvf gcc-5.4.0.tar.gz
cd gcc-5.4.0
(根据gcc-5.4.0/contrib/download_prerequisites下载依赖包置于gcc解压包内,以下4包是我下载的依赖包,下载路径也在download_prerequisites中)
tar -xvf gmp-4.3.2.tar.gz
tar -xvf mpc-0.8.1.tar.gz
tar -xvf mpfr-2.4.2.tar.gz
tar -jxf isl-0.14.tar.bz2
ln -sf gmp-4.3.2 gmp
ln -sf isl-0.14 isl
ln -sf mpc-0.8.1 mpc
ln -sf mpfr-2.4.2 mpfr
mkdir build && cd build
…/configure -enable-checking=release -enable-languages=c,c++ -disable-multilib(默认安装到/usr/local/bin/,可以使用-prefix指定安装目录管理gcc版本)
make -j4
make install -
gcc软链接更新 以及c++库依赖更新
mkdir /usr/gccbackup/
mv /usr/bin/{gcc,g++,c++} /usr/gccbacku
ln -s /usr/local/bin/gcc /usr/bin/gcc
ln -s /usr/local/bin/g++ /usr/bin/g++
ln -s /usr/local/bin/c++ /usr/bin/c++
版本更新完毕 -
更新c++库依赖
cmake升级需要
cp /usr/local/lib64/libstdc++.so.6.0.21 /usr/lib64
cd /usr/lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.21 libstdc++.so.6
以上更新软链接路径均为系统编译使用路径,查看路径参考/etc/ld.so.conf.d/下conf文件,/usr/lib/,/usr/bin/。
boost升级
tar -zxvf boost_1_67_0.tar.gz
cd boost_1_67_0
- ./bootstrap.sh --prefix=/usr/local/,不指定的话,默认是/usr/local/lib
注意查看列出信息中gcc,g++,c++版本正确 - sudo ./b2 install
- boost库软链接更新列表:
libboost_atomic.so
libboost_chrono.so
libboost_date_time.so
libboost_filesystem.so
libboost_random.so
libboost_regex.so
libboost_system.so
libboost_thread.so
个人export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH。
故上述软链接更新目录位于/usr/local/lib/。
比如:ln -s /usr/local/lib/libboost_atomic.so.1.68.0 /usr/local/lib/libboost_atomic.so
头文件:/usr/include/boost
cmake升级
下载cmake安装包
tar -zxvf cmake-3.12.4.tar.gz
cd cmake-3.12.4
./configure
make
make install
cpprestsdk安装
官网下载cpprestsdk
https://github.com/Microsoft/cpprestsdk
cd Release
mkdir build&&cd build
cmake … -DCMAKE_BUILD_TYPE=RELEASE -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CPLUS_COMPILER=/usr/bin/g++ -DCMAKE_CXX_COMPILER=/usr/local/bin/c++
上述指定路径根据你安装路径自行指定,确保此命令列出信息中gcc,g++,boost版本正确
make
make install
验证版本:
cd Binaries
ldd libcpprest.so,查看软链接的boost版本是否为1.68,若不是,确认libboost_xxx.so.1.68.0等库文件是否在LD_LIBRARY_PATH,或者软链接更新是否正确。
使用libcpprest.so依赖文件列表
cpprestroot为自定义环境变量,$${cpprestroot}目录建有lib,include【include文件内文件是官网包下的include文件,lib为Binaries下libcpprest*.so文件】
LIBS+=-L$${CPPRESTROOT}/lib -lcpprest
LIBS+=-L/usr/local/lib -lboost_atomic
LIBS+=-L/usr/local/lib -lboost_chrono
LIBS+=-L/usr/local/lib -lboost_date_time
LIBS+=-L/usr/local/lib -lboost_filesystem
LIBS+=-L/usr/local/lib -lboost_random
LIBS+=-L/usr/local/lib -lboost_regex
LIBS+=-L/usr/local/lib -lboost_serialization
LIBS+=-L/usr/local/lib -lboost_system
LIBS+=-L/usr/local/lib -lboost_thread
LIBS+=-L/usr/local/lib -lboost_wserialization
LIBS+=-L/usr/local/lib -lcrypto
LIBS+=-L/usr/lib64 -lssl
INCLUDEPATH += $${CPPRESTROOT}/include
INCLUDEPATH += $${CPPRESTROOT}/include/cpprest
INCLUDEPATH += /usr/include/boost
参考博客
https://blog.csdn.net/u014208472/article/details/70171597
https://blog.csdn.net/wan_yanyan528/article/details/71791330
https://blog.csdn.net/weixin_40420213/article/details/78687540
https://blog.csdn.net/xzwspy/article/details/81603227
https://blog.csdn.net/q_l_s/article/details/53934036
参考链接
https://www.boost.org/doc/libs/1_68_0/more/getting_started/unix-variants.html#easy-build-and-install
http://www.cnblogs.com/smartvessel/archive/2011/01/21/1940868.html
https://www.shaobin.wang/post/10.html