• 七牛云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
    

      

  • 相关阅读:
    使用hibernate实现树形结构无限级分类
    专家看台:盛大架构师周爱民回顾职业历程,分享十项建议
    开始运行命令大全
    rsvp.exe,AdskScSrv.exe ,avp.exe
    Web2.0 编程思想:16条法则
    李嘉诚:性格才是命运的决定因素
    中兴笔试题目
    管理Websphere的10个有用命令
    我的程序语言实践
    20200514:实现分布式Session的过程是怎样的?
  • 原文地址:https://www.cnblogs.com/cqwo/p/14043057.html
Copyright © 2020-2023  润新知