CentOS 6.5 QtCreator啟動時 dbus-1的錯誤解決方法


啟動QtCreator提示:dbus_connection_can_send_type的錯誤,

QString::arg: Argument missing: 無法解析dbus_connection_can_send_type中的符號“dbus_connection_can_send_type”:

dbus-1, (/lib/libdbus-1.so.3: undefined symbol: dbus_connection_can_send_type)

 解決辦法:

更新dbus版本來解決..

首先去https://www.freedesktop.org/wiki/Software/dbus/#index4h1 下載dbus的最新版本(1.10)

解壓后,進入 文件夾:dbus-1.10.0運行如下命令:

./configure 
make
make install

 

{注意:

在執行./config時會出現如下錯誤:

checking for XML_ParserCreate_MM in -lexpat... no
configure: error: Explicitly requested expat but expat not found

 

 

 

 說明D-Bus daemon需要expat XML parser 庫,所以這里需要先編譯expat庫:

https://sourceforge.net/projects/expat/?source=typ_redirect下載expat-2.1.1

解壓后,進入 文件夾運行如下命令:

 

./configure 
make
make install

 

 

}

安裝完成,更新連接文件

把 /usr/local/lib/libdubs-1.so.3.14.3 復制到 /lib  (我的是32位)

在 /lib下 刪除libdbus-1.so和libdbus-1.so.3 兩個文件,並為libdubs-1.so.3.14.3創建連接:

ln -s libdubs-1.so.3.14.3 libdbus-1.so

ln -s libdubs-1.so.3.14.3 libdbus-1.so.3

再次啟動QtCreator,顯示錯誤:

process 14950: D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open "/etc/machine-id": 沒有那個文件或目錄
See the manual page for dbus-uuidgen to correct this issue.
   D-Bus not built with -rdynamic so unable to print a bactrace
已放棄(core dumped)

缺少machine-id文件,需要給它定義一個id,使用dbus-uuidgen創建id文件

dbus-uuidgen >/usr/var/lib/dbus/machine-id
cp /usr/var/lib/dbus/machine-id /etc/

 或者

dbus-uuidgen >/etc/machine-id 

 

該問題解決,啟動QtCreator,沒有任何錯誤提示

 

參考:http://www.th7.cn/system/lin/201403/50571.shtml


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM