Thrift 服務端有如下模式:TSimpleServer TThreadpoolServer TThreadedServer TNonblockingServer
NonblockingServer是非阻塞的,編寫非阻塞服務端程序需要鏈接庫libthriftnb.a,即 -lthriftnb
如果找不到libthriftnb.a,可能是以下問題:
1.之前沒有安裝libevent,解決方法是安裝libevent,再重新編譯安裝Thrift
2.安裝libevent,沒有生成libevent動態庫
最初遇到這個問題是因為未安裝libevent,但是安裝libevent重新編譯Thrfit仍然沒有thriftnb靜態庫,
比較詫異,經過反復試驗,發現如果沒有libevent動態庫,就不會生成thfirtnb靜態庫
由於編譯安裝第三方庫時,習慣使用--disable-shared僅生成靜態庫,導致了問題的出現
另外,在編譯安裝libevent時,configure默認同時生成靜態庫和動態庫
configure -h可以發現默認使用參數--enable-static --enable-shared
以上是以Apache Thrift v0.8.0和libevent-2.0.20-stable進行測試得出的結論
