Qt4のQt3サポートを必要とするアプリケーションは少ない?
- Qt4のQt3サポートライブラリについて
- 公式のPortageツリーを調べると...
- Qt4 immoduleとQt3サポート(uimとSCIM-Bridge)
- Qt Configuration(qtconfig)
- KDE4
Qt4のQt3サポートライブラリについて
Qt4は、前バージョンのQt3と互換性のない部分が多く、Qt3アプリケーションの開発者はQt4に対応させるためのコードの大幅な書き直しが必要となっている。そのため、Qt3互換のライブラリがQt4の中に用意されている。Gentoo Linuxのebuildでは、「USE=qt3support」でビルドすることでこれを有効にできるのだが、ビルド時間が大幅に増加するため、自分の使用するアプリケーションがこれを使用するのでなければ外してしまうのがよさそう。
公式のPortageツリーを調べると...
Overlayは含めず、公式のPortageツリーから検索したところ、意外にヒット数は少なかった。「qgrep -N qt3support」の結果を参考にすると、下のようになった。バージョン部分は最新版のものを表記している。
パッケージとバージョン | URL | 説明 |
---|---|---|
app-admin/keepassx-0.2.2-r1 | http://www.keepassx.org/ | パスワードマネージャ |
games-kids/cubetest-0.9.4 | http://www.vandenoever.info/software/cubetest/ | 立方体に関する小学生向け学習?ソフト |
media-sound/musescore-0.7.0.1*1 | http://mscore.sourceforge.net/ | 譜面エディタ |
net-im/psi-0.11_pre20070314 | http://psi-im.org/ | Jabber用メッセンジャークライアント |
x11-misc/vym-1.10.0-r1 | http://www.insilmaril.de/vym/ | 考えなどを図として作成(段階的に移行中?) |
Qt4 immoduleとQt3サポート(uimとSCIM-Bridge)
Qt4のQt3サポートを外すと、Subversion版(リビジョン5125時点)uimのQt4 immoduleはビルドできなくなってしまった。これも上のリストに加えてQt3サポート依存パッケージとなる。g++ -c -pipe [CXXFLAGS] -W -Wall -Wchar-subscripts -Wnon-virtual-dtor -Wno-long-long -Wcast-align -Wconversion -Wpointer-arith -Wwrite-strings -Wformat-security -DNDEBUG -D_REENTRANT -Wall -W -fPIC -DQT_NO_DEBUG -DQT_PLUGIN -DQT_QT3SUPPORT_LIB -DQT3_SUPPORT -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtGui -I/usr/include/qt4/Qt3Support -I/usr/include/qt4 -I../../../uim-svn-1.5 -I../../uim -I../../replace -I. -I. -o qhelpermanager.o qhelpermanager.cpp qhelpermanager.cpp:39:21: error: Q3PtrList: No such file or directory In file included from qhelpermanager.cpp:49: quiminfomanager.h:36:23: error: Q3ValueList: No such file or directory In file included from plugin.cpp:49: quiminfomanager.h:36:23: error: Q3ValueList: No such file or directory quiminfomanager.h:52: error: ISO C++ forbids declaration of 'Q3ValueList' with no type (以下エラーが続く)
一方で、SCIM-BridgeのQt4 immoduleではQt3サポートが不要。動作状態も良好。
Qt Configuration(qtconfig)
(2008/1/15)qtconfig設定ツールはQt3サポートが必要で、バージョン4.3.3の時点でも同様。テーマ変更などの設定が行えないと不便というのであれば、外さないほうがよいということになる。参考URL:
- http://marc.info/?l=gentoo-user&m=116817936709957&w=2
- http://packages.debian.org/ja/sid/qt4-qtconfig
KDE4
(2008/2/27)KDE4は、その基盤となるkdelibsというライブラリが(4.0.1の時点では)Qt3サポートを要求するため、KDE4を使用するには必須となっていることが分かった。使用したバージョン:
- Qt 4.3.2(4.3.2-r1), 4.3.4
- SCIM-Bridge 0.4.14
- uim Subversion r5125
- kdelibs 4.0.1(4.0.1-r1)
*1:「pro-audio」Overlayにバージョン0.8.0があるが、Qt3サポートに依存している