.net網(wǎng)站開(kāi)發(fā)實(shí)例臨沂seo代理商
感覺(jué)時(shí)間過(guò)得很快,又是很久沒(méi)有更新了
哎,主要原因還是很久都沒(méi)有學(xué)什么東西了,進(jìn)入社會(huì)后不知不覺(jué)間倦怠了許多
沒(méi)什么辦法,上班了之后做的很多東西都是調(diào)用api,越來(lái)越像一個(gè)工具人了,雖然說(shuō)本身也大差不差的
回到這篇文章
主要原因還是最近接了一個(gè)需求:在當(dāng)前的代碼倉(cāng)庫(kù)中沒(méi)有S3_client.cc的輪子,所以需要提供一個(gè)這樣的輪子供其他人使用
反正就是這個(gè)需求最后落到了我的頭上
先搜了搜公司的內(nèi)網(wǎng)技術(shù)文檔,然后發(fā)現(xiàn)只支持centeros7.0系統(tǒng),而且上一次更新還是在兩年前,這誰(shuí)tm敢用啊
看來(lái)沒(méi)有現(xiàn)成的,留給我的只有官網(wǎng)一條路了,通過(guò)源碼編譯
官網(wǎng)link1:aws官網(wǎng),下載aws-sdk-s3
Build the AWS SDK for C++ on Linux/macOS - AWS SDK for C++
github link :
GitHub - aws/aws-sdk-cpp: AWS SDK for C++
建議還是看官網(wǎng)的link,比github上的詳細(xì)一些,至少我跑通的是官網(wǎng)的而不是github
這邊遇到的第一個(gè)問(wèn)題基本就是安裝下cmake,安裝下前置依賴(lài)包時(shí)發(fā)現(xiàn)將要安裝的依賴(lài)包和已存在的依賴(lài)版本沖突
這邊建議使用anaconda或者docker,這樣什么不行卸載什么,搞壞了就重啟,在系統(tǒng)直接搞,搞壞了還得重裝
步驟截止到官網(wǎng)第7步安裝sdk成功后即可結(jié)束
這邊由于我司項(xiàng)目使用的是bazel編譯而不是cmake編譯,所以想遷到我司項(xiàng)目中,還得想辦法通過(guò)bazel編譯才可以
ok當(dāng)你運(yùn)行到第7步的時(shí)候,你應(yīng)該有兩個(gè)文件夾
aws-sdk-cpp 源代碼文件夾
sdk_build,cmak編譯源碼文件夾
官網(wǎng)第7步 make install后,默認(rèn)路徑是/use/local/lib(指定路徑了當(dāng)我沒(méi)說(shuō))目錄下存在兩個(gè)通過(guò)官網(wǎng)流程編譯的最新的動(dòng)態(tài)鏈接庫(kù)libaws-cpp-sdk-core.so,libaws-cpp-sdk-s3.so
有了這兩個(gè)庫(kù)就可以使用了
直接BUILD文件這樣寫(xiě)即可
package(default_visibility = ["//visibility:public"])cc_binary(name = "hello_s3",srcs = ["hello_s3.cc"],deps = [],linkopts = ["-laws-cpp-sdk-core","-laws-cpp-sdk-s3",],
)
當(dāng)然這是個(gè)demo所以是個(gè)binary,S3_client.h理應(yīng)是個(gè)library
很多工業(yè)界正在使用的東西學(xué)校都不會(huì)教,都需要有空的時(shí)候自己學(xué)學(xué),比如git,linux使用,docker,bazel等等
hello_s3.cc的內(nèi)容就是官網(wǎng)的demo
后續(xù)等我的S3_client.h寫(xiě)完了也會(huì)放在這里
不過(guò)最近在忙著寫(xiě)述職報(bào)告,先hold一下