UnixAgain

热爱Unix及相关的一切

博客园 首页 联系 订阅 管理

这个问题是由于没有确定默认的qt所导致的。在我的ArchLinux上,同时安装了qt4和qt5,这时

/etc/xdg/qtchooser

 目录的内容是这样的,

% ls -l
total 16
-rw-r--r-- 1 root root 26 Dec 17 19:16 3.conf
-rw-r--r-- 1 root root 26 Dec 17 19:16 4.conf
-rw-r--r-- 1 root root 25 Dec 17 19:16 5.conf
lrwxrwxrwx 1 root root 25 Dec 17 19:16 default.conf -> /etc/xdg/qtchooser/5.conf

 可以看到其实默认的是qt5,但如果分别

% which qmake qmake-qt4 qmake-qt5
/usr/bin/qmake
/usr/bin/qmake-qt4
/usr/bin/qmake-qt5

 看起来是很正常是不是?你一定以为qmake是指向qmake-qt5的对吧?事实是这样的。

% ls -l qmake
lrwxrwxrwx 1 root root 9 Dec 17 19:16 qmake -> qtchooser*

 所以默认路径下qmake调用的其实是qtchooser,但实际上运行qmake和qtchooser的输出又不一样,这样我是不能理解了。

言归正传。

我的解决方案是这样的,

sudo rm /usr/bin/qmake
sudo ln -s /usr/bin/qmake /usr/lib/qt/bin/qmake-qt5

 这样一来就解决了。

posted on 2014-03-26 15:07  UnixAgain  阅读(2023)  评论(0编辑  收藏  举报