私のアプリケーションをスリムにしたい(もう一度)。 QtDeclarativeは私がまったく使わないQtXmlPatterns、QtSvg、QtSqlに依存していますので、私はそれらを使わずにライブラリをコンパイルしたいと思います。QtXmlPatterns、QtSvg、QtSqlなしでQtDeclarativeをコンパイルする方法
誰かがQtDeclarativeのソースファイルを変更しましたか(またはこれを行う手掛かり)?
私のアプリケーションをスリムにしたい(もう一度)。 QtDeclarativeは私がまったく使わないQtXmlPatterns、QtSvg、QtSqlに依存していますので、私はそれらを使わずにライブラリをコンパイルしたいと思います。QtXmlPatterns、QtSvg、QtSqlなしでQtDeclarativeをコンパイルする方法
誰かがQtDeclarativeのソースファイルを変更しましたか(またはこれを行う手掛かり)?
次のようにQtのを設定することができるはずです。
./configure -no-xmlpatterns -no-svg
これらのモジュールに依存QtDeclarative内の部品が自動的に無効になります。 QtXmlPatternsの削除は、XQueryに基づいているため、たとえばXmlListModelが使用できなくなるだけです。
これはLGPLの意味でのQtの変更ではないので、Qtソースコードを自分で配布して配布する必要はありません。
残念ながら、現在のところ、-no-sql
オプションのプリプロセッサロジックは存在しません。したがって、QtDeclarativeのハード依存関係にあるようです。しかし、私はこれをオプションにするパッチが受け入れられるだろうと思います。これがどのように行われるかを知りたい場合は、の使用方法をsrc/declarative
にチェックし、条件付きのqdeclarativexmllistmodel.cpp
をsrc/declarative/util/util.pri
に含めることに注意してください。
私はそれを試してコンパイルするかどうかを見てみましょう。どうもありがとう。 – Hedge
依存関係を削除するのに問題が発生する可能性がありますが、あなたのプロファイルにQT -= sql
などをお試しください。それ以外の場合は、QtDeclarativeのソースを変更してQTを再コンパイルすることもできますが、QMLレイアウトを使用しているため、QtXmlPatternsへの依存を取り除くことは非常に難しいかもしれません。
これは、QTの既知の欠点の1つです。このフレームワークでは多量の機能が得られますが、同時に大きな膨らみが発生します。またLGPLは、既存のライブラリにリンクするだけではなく、QT自体で変更したソースを出荷するように要求しています。
qt-interestメーリングリストでこれを尋ねる方がよいでしょう。 –