啟動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,沒有任何錯誤提示