红联Linux门户
Linux帮助

smplayer: undefined symbol: _ZN10QTableView13doItemsLayoutEv

发布时间:2015-10-28 09:43:20来源:linux网站作者:春泥面包

smplayer运行时出现问题:

undefined symbol: _ZN10QTableView13doItemsLayoutEv 


最后决定自己编译源码安装。

1、下载源码

下载地址:http://smplayer.sourceforge.net/en/downloads

我下载的是0.8.6版本。


2、解压源码

$tar xjvf smplayer-0.8.6.tar.bz2 


3、编译安装

$cd smplayer-0.8.6/ 
$make 
$sudo make install 

(可以看一下源码目录下INSTALL.TXT文件,里面讲解了怎么安装)


最后问题得到解决。


最后分析一下出现这个问题的原因:

undefined symbol: _ZN10QTableView13doItemsLayoutEv

应该是链接库出现问题,所以用ldd命令,看看smplayer使用了哪些qt动态链接库。

$ ldd `which smplayer`| grep "qt" 
libQtScript.so.4 => /run/media/huntinux/F/huntinux_bin/qtsdk-2010.05/qt/lib/libQtScript.so.4 (0xb7433000) 
libQtXml.so.4 => /run/media/huntinux/F/huntinux_bin/qtsdk-2010.05/qt/lib/libQtXml.so.4 (0xb73e8000) 
libQtGui.so.4 => /run/media/huntinux/F/huntinux_bin/qtsdk-2010.05/qt/lib/libQtGui.so.4 (0xb6878000)
libQtNetwork.so.4 => /run/media/huntinux/F/huntinux_bin/qtsdk-2010.05/qt/lib/libQtNetwork.so.4 (0xb673b000) 
libQtCore.so.4 => /run/media/huntinux/F/huntinux_bin/qtsdk-2010.05/qt/lib/libQtCore.so.4 (0xb645d000) 

我记得装完QT开发环境后,我设置了环境变量LD_LIBRARY_PATH。我将新的qt库路径加在了该变量的最前面。
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

所以默认的库路径发生了改变,导致undefined symbol的问题。


Ubuntu安装视频播放软件SMPlayer 14.9.0.7042:http://www.linuxdiyf.com/linux/13432.html

Ubuntu下PPA安装SMPlayer 14.9:http://www.linuxdiyf.com/linux/8196.html

Linux下使SMplayer加载双重字幕:http://www.linuxdiyf.com/linux/7628.html