Thrift第二課 Linux編譯

應用環境Ubuntu

1 編譯

 問題1: configure:error: "Error: libcrypto required."    

解決:apt-getinstall libssl-dev

 

 問題2:uint32_tdoes not name a type

解決:

   uint32_t定義文件在stdint.h,通過whereis stdint.h

   stdint.h: /usr/include/stdint.h

說明在標準的include路徑下,將出現編譯錯誤的源碼文件中添加#include<stdint.h>

 

問題3:Makefile文件的BOOST庫路徑指定錯誤

解決:

MakeFile文件中:BOOST_DIR = /usr/local/include/boost

而實際的情況卻是:BOOST_DIR=/usr/include/boost

 # apt-get installlibboost-dev

已經安裝成功,但是不清楚安裝的位置

 

查找本地boost庫的安裝目錄:

whereis boost

boost:/usr/include/boost

 

問題 4:ntohs 存在未定義的編譯錯誤

解決:

包含頭文件#include<arpa/inet.h>

 

問題5:編譯例子出現thrift庫函數大量未定義的編譯錯誤

解決:

主要是鏈接-lthrift必須放在CppClient.cppCppServer.cpp的後面,修改Makefile文件,調整兩者的順序即可。當某一個源碼文件編譯找不到函數定義的時候,只會往後查找函數定義


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章