Ubuntu14.04 運行VNote

本機Ubuntu14.04 已經安裝了Qt5.11

使用如下命令clone vnote的源碼

git clone [email protected]:tamlok/vnote.git --recursive  // vnote使用了git submodule,使用--recursive選項clone所有submodule

cd vnote 

qmake // 生成Makefile文件

make 

出現瞭如下錯誤:

這個錯誤的原因很明顯,就是沒有找到有這個函數定義的so文件,看起來都是和dbus相關

使用下面這個命令查詢報錯的libQt5WebEngineCore.so在加載時需要哪些so文件

objdump -p /home/ts/software/5.11.2/gcc_64/lib/libQt5WebEngineCore.so

顯示的部分截圖:

看起來是需要libdbus-1.so.3

搜索自己的電腦系統中是否有這個文件,結果發現在

/usr/lib/x86_64-linux-gnu

這個路徑下有相關的libdbus文件(都是一些軟連接,追蹤軟連接的目標,確實有是個libdbus-1.so.3

nm libdbus-1.so  // 由於這個文件是軟連接,等同於nm libdbus-1.so.3

結果很出乎意料

這個文件內容異常,沒有導出的符號。

下載dbus源碼,解壓後進入目錄dbus-1.10.20

./autogen.sh

./configure // 配置dbus的安裝路徑爲默認的

默認的路徑爲

發現默認路徑都是在/usr/local下面,和上面查詢到的本機的那些有問題的dbus文件不在同一路徑下,也就沒有相互影響的可能了,可以安全的執行make install

make

make install // 也可以執行make uninstall 刪除掉/usr/local路徑下安裝的dbus相關文件

回到vnote的目錄

make

沒有任何錯誤了

cd src // 在沒有make install 之前,VNote可執行程序是生成在此目錄下的

./VNote

成功運行VNote

總結:

  1. nm和objdump工具是觀察so文件的利器,值得記住並使用
  2. VNote是國產軟件中值得驕傲的存在,點贊 

謝謝觀賞:)

 

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