之前在虚拟机里面安装了个gentoo,用来尝试安装kde5。在升级系统的时候,发现vlc一直编译失败(好像是phonon引入的)。查了下发现是vlc在编译的时候,发现了qt5,但是按照qt4的方式编译了,导致自身图形界面相关的类编译失败。
编译失败的信息:
[cce]
make[6]: Entering directory '/var/tmp/portage/media-video/vlc-2.1.4/work/vlc-2.1.4/modules/gui/qt4'
../../../doltlibtool --tag=CXX --mode=compile x86_64-pc-linux-gnu-g++ -DHAVE_CONFIG_H -I. -I../../.. -DMODULE_NAME=$(p="libqt4_plugin_la-qt4.lo"; p="${p##*/}"; p="${p#lib}"; echo "${p%_plugin*}") -DMODULE_NAME_IS_$(p="libqt4_plugin_la-qt4.lo"; p="${p##*/}"; p="${p#lib}"; echo "${p%_plugin*}") -DMODULE_STRING=\"$(p="libqt4_plugin_la-qt4.lo"; p="${p##*/}"; p="${p#lib}"; echo "${p%_plugin*}")\" -D__PLUGIN__ -I../../../include -I../../../include -I/usr/include/samba-4.0 -DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/include/qt4/QtCore -O2 -mprefer-avx128 -fomit-frame-pointer -pipe -march=bdver2 -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mabm -mlwp -mfma -mfma4 -mxop -mbmi -mno-bmi2 -mtbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-hle -mno-rdrnd -mf16c -mno-fsgsbase -mno-rdseed -mprfchw -mno-adx -mfxsr -mxsave -mno-xsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 --param l1-cache-size=16 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=bdver2 -fstack-protector-strong -Wall -Wextra -Wsign-compare -Wundef -Wpointer-arith -Wvolatile-register-var -fvisibility=hidden -c -o libqt4_plugin_la-qt4.lo `test -f 'qt4.cpp' || echo './'`qt4.cpp
In file included from dialogs/open.hpp:35:0,
from dialogs_provider.hpp:36,
from qt4.cpp:36:
./ui/open.h:14:29: fatal error: QtWidgets/QAction: No such file or directory
#include <QtWidgets/QAction>
[/cce]