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安装包

  1. 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

  2. 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++
    版本更新完毕

  3. 更新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

  1. ./bootstrap.sh --prefix=/usr/local/,不指定的话,默认是/usr/local/lib
    注意查看列出信息中gcc,g++,c++版本正确
  2. sudo ./b2 install
  3. 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

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值