1. 程式人生 > >編譯thrift外篇-關於默認鏈接包

編譯thrift外篇-關於默認鏈接包

make roo onf oca str rift question arch lan

根據 https://stackoverflow.com/questions/9922949/how-to-print-the-ldlinker-search-path 使用

ldconfig -v 2>/dev/null | grep -v ^$‘\t‘

列出了所有的默認鏈接包路徑,使用

ll /usr/local/cuda-8.0/lib64 /usr/lib/x86_64-linux-gnu/libfakeroot /usr/local/lib /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu /usr/lib/nvidia-375 /usr/lib32/nvidia-375 /lib32 /usr/lib32 /lib /usr/lib |grep
snappy

可以看到有snappy庫。 查看leveldb時,有兩個leveldb庫,一個是apt-get安裝的,一個是自己編譯拷貝進去的,兩個不一樣大。現在想知道apt-get安裝的路徑在哪。

使用 ls -d -1 $PWD/**/* 這種方式以全路徑方式列出當前目錄下的文件,可以套用到上述路徑,發現,snappy路徑

/usr/lib/x86_64-linux-gnu/libsnappy.a

/usr/local/lib/libleveldb.a

leveldb路徑

第一個是系統安裝的。

通過fincore可知,鏈接的是/usr/local/lib/libleveldb.a ,也就是自己編譯的。

最後,在Makefile裏加上一句 LIB=/usr/lib/x86_64-linux-gnu/

以及 -L $(LIB)

竟然編譯成功了!!!!

編譯thrift外篇-關於默認鏈接包