使用protobuf編譯onnx.proto過程當中的一些問題總結

使用git clone下載protobuf的源代碼,而後git checkout到branch2.7.0: linux

clipboard

編譯protobuf,先在代碼頂層目錄執行./configure,而後執行make,成功後執行sudo ldconfig,從新加載動態庫。 git

clipboard

通過試驗發現,使用protoc編譯onnx.proto,須要特別注意版本問題,使用3.5.1的版本,編譯都會失敗,並且中途會有提示gcc版本太低的錯誤信息,在4.9一下都不支持之類的信息,這個時候去升級gcc版本到了5.5,回來發現問題依然存在。最後使用的protoc版本是2.7.0,這是經過沖git上將master源代碼下載下來,而後使用git chekout branch的方式,進行源代碼編譯安裝完成的。 github

若是系統中原來經過pip或者apt-get之類的工具安裝過protobuf,那麼系統會在/usr/bin/下安裝protoc,在/usr/lib/下安裝有libprotbuf*等so文件,這個時候能夠直接將這些文件所有rm -fr。由於linux搜索二進制文件和so文件的順序是先搜索/usr/bin/, /usr/lib/,而後再搜索/usr/local/bin/, /usr/local/lib,而採用源代碼編譯、安裝的protobuf工具會將這些二進制文件和so文件釋放到/usr/local/bin和/usr/local/lib目錄下,這個時候/usr/bin/以及/usr/lib下的protoc和libprotobuf*so已經被刪除掉,因此就會到/usr/local/bin和/usr/local/lib下去尋找對應的文件。 工具

與之相關的代碼已經放到gihub上,下載 3d

相關文章
相關標籤/搜索