zoukankan      html  css  js  c++  java
  • 七牛云SDKLinux环境下C SDK的编译(转)

    ARM64位编译包

    1.下载代码到本地

    git clone https://github.com/qiniu/c-sdk.git
    

     如果国外下载速度慢,可以用码云的镜像库

    git clone https://gitee.com/cqnews/c-qiniu-sdk.git
    

      

    2.该项目依赖库curlopenssl

    sudo apt-get install libcurl4-openssl-dev libssl-dev
    

    3.编写Makefile文件

    INCLUDE_PATH=-Ibase64 -IcJSON -Iqiniu
    SOURCE_FILES=\
                b64/b64.c\
                b64/urlsafe_b64.c\
                cJSON/cJSON.c\
                qiniu/auth_mac.c\
                qiniu/base.c\
                qiniu/base_io.c\
                qiniu/cdn.c\
                qiniu/conf.c\
                qiniu/fop.c\
                qiniu/http.c\
                qiniu/io.c\
                qiniu/macro.h\
                qiniu/qetag.c\
                qiniu/reader.c\
                qiniu/resumable_io.c\
                qiniu/rs.c\
                qiniu/tm.c\
    
    all:$(SOURCE_FILES)
            gcc -g -c -fPIC $^ $(INCLUDE_PATH) -lcurl -lcrypto -lssl -lm
            gcc -shared -o libqiniu.so *.o  -lcurl -lcrypto -lssl -lm
    install:
            sudo cp libqiniu.so /usr/local/lib
    uninstall:
            sudo rm -rf /usr/local/lib/libqiniu.so
    clean:
            rm -rf *.o
            rm -rf *.so
    

      

    上面的Makefile是把所有代码编译为.o目标文件。

    4.我们可以使用工具ar打包为静态库

    ar rcs libqiniu.a *.o
    

    5.我们也可以基于.o文件构建动态库

    gcc -shared -o libqiniu.so *.o  -lcurl -lcrypto -lssl -lm
    

    6.最终得到的构建完毕的发布包:

    .
    ├── include
    │   ├── b64
    │   │   ├── b64.h
    │   │   └── urlsafe_b64.h
    │   ├── cJSON
    │   │   └── cJSON.h
    │   └── qiniu
    │       ├── base.h
    │       ├── cdn.h
    │       ├── conf.h
    │       ├── fop.h
    │       ├── http.h
    │       ├── io.h
    │       ├── macro.h
    │       ├── qetag.h
    │       ├── reader.h
    │       ├── region.h
    │       ├── resumable_io.h
    │       ├── rs.h
    │       └── tm.h
    └── lib
        ├── libqiniu.a
        └── libqiniu.so
    

      

  • 相关阅读:
    命令执行顺序控制与管道
    js获取返回首页
    手机站点击商务通无轨迹解决方法
    js文字向上滚动代码
    文字隐藏多余的文字
    QQ弹窗代码
    百度推送代码
    js手机站跳转
    js 判断时间,满足执行框架
    js切换换class
  • 原文地址:https://www.cnblogs.com/cqwo/p/14043057.html
Copyright © 2011-2022 走看看