作者:
背景:
由於很多人對 SDK 的安裝和系統依賴的環境變量不是很熟悉,導致很熟悉,浪費不必要的時間,而且導致環境變量引入也出現異常。特此寫了一篇從安裝到遇坑的過程給大家。
操作環境:
Linux Centos 6.9 64 位系統
預先安裝好的庫:
1、glibc-2.14 (mxml 庫需要依賴這個庫):
- 先看下 strings /lib64/libc.so.6 | grep GLIBC 是否有 GLBC-2.14 或者以上。如果沒有的話,請先編譯 GLBC-2.14 的安裝包
- 下載 glibc https://zhangyb.oss-cn-shanghai.aliyuncs.com/OSS-C-SDK/glibc-2.14.tar.gz?Expires=1521549492&OSSAccessKeyId=TMP.AQEAKUK0qmvX2ZXjEp98ANKQTKdkMbaeVTyQcrY3kdV_uZ5mt2NSdD3pC9m-AAAwLAIUYGbefvuM7qe9Q_gJiOdd0tIiwp8CFByPd8sFWbcncwcLb5XKmng2i-_l&Signature=FEm8GdGTSyeLyiSH1Z7bZBJI%2BGU%3D 下載不了請聯繫本人。
- tar xvf glibc-2.14.tar.gz && cd glibc-2.14 && mkdir build && cd build && ../configure --prefix=/usr/local/glibc-2.14 && make -j4 && make install && cp /usr/local/glibc-2.14/lib/libc-2.14.so /lib64/libc-2.14.so && mv /lib64/libc.so.6 /lib64/libc.so.6.bak && LD_PRELOAD=/lib64/libc-2.14.so ln -s /lib64/libc-2.14.so /lib64/libc.so.6
2、安裝 cmake 庫:
- sudo yum install cmake
3、安裝第三方庫文件:
- sudo yum install curl-devel apr-devel apr-util-devel
4、 安裝 mxml 庫:
- -ivh mxml-2.9-1.x86_64.rpm --nodeps --force
安裝 OSS-C-SDK:
- SDK 3.5 ,官網隨時更新,請以官網為準 http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/32131/cn_zh/1501595738954/aliyun-oss-c-sdk-3.5.0.tar.gz?spm=a2c4g.11186623.2.4.Bf6aUL&file=aliyun-oss-c-sdk-3.5.0.tar.gz
- tar -xf SDK.tar.gz && cd SDK && cmake . && make && make install 安裝好 SDK 後,會自動 /usr/local/include/ 下創建好 oss_c_sdk 的目錄,並引入需要依賴的 SDK 庫文件。
測試 SDK demo
注意 demo 中的動態鏈接庫都是查找的默認安裝路徑,請先用命令搜索一下是否包含了以下路徑
g++ -print-prog-name=cc1 -v
gcc -print-prog-name=cc1 -v
- 下載 demo ,解壓後找到對應的系統的路徑,進行測試 http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/32132/cn_zh/1487730555529/aliyun-oss-c-sdk-demo.tar.gz?spm=a2c4g.11186623.2.14.AsMiZ9&file=aliyun-oss-c-sdk-demo.tar.gz
- 編譯 gcc -Wall -O -g -I /usr/local/include/oss_c_sdk -I /usr/include/apr-1 -c main.c -o main.o && gcc main.o -o main -lpthread -L/usr/local/lib -loss_c_sdk -lcurl -lmxml -L/usr/local/apr/lib -lapr-1 -laprutil-1
- ./main