ubuntu下使用QMediaPlayer闪退。

在新装的ubuntu进行移植或者首次安装Qt的编译环境,当我们的Qt项目中存在使用QMediaPlayer对象的时候,会出现莫名其妙的闪退现象,就是找不到什么原因,qt又没有具体提示,这个时候你打开视频,会发现打开不了。

经过仔细研究发现是缺少相关的视频库文件,这个时候我们安装一个视频软件,让这个软件自动把这个库进行安装。我安装的是VLC播放器。
安装指令如下:

 sudo apt-get install vlc

安装完毕后,我再次编译项目,执行程序,发现没有崩溃了。

这里还有一种库包冲突造成的QMediaPlayer在new的时候闪退,情况是这样的:当使用QMediaPlayer时,同时引入sqlite3的库包时,这个时候就会出现QMediaPlayer在new的时候崩溃,怀疑是底层调用的文件有冲突造成的。我这边解决的方法是把系统的sqlite的头文件和库包都取出来进行加载,而不是直接加载系统路径下的整个头文件和库路径。
如:之前是这样的

INCLUDEPATH += /usr/include
LIBS += -L/usr/lib -lsqlite3

改后是这样的。

INCLUDEPATH += $$PWD/sqlite3/include
LIBS += -L$$PWD/sqlite3/lib -lsqlite3

你可能感兴趣的:(QT,c/c++,ubuntu,qt,linux)