80

I am porting code from qt4 to qt5. I added the following line to my .pro file, as suggested:

QT += webkitwidgets

However, when I run qmake, I get the this error:

Project ERROR: Unknown module(s) in QT: webkitwidgets

I am developing on Ubuntu 12.04 LTS and installed Qt as described.

4

6 に答える 6

122

You need to install the webkitwidgets library.

On Ubuntu, try this in a terminal:

sudo apt-get install libqt5webkit5-dev

On Fedora, the package has a different name, thus try:

sudo apt-get install qt5-qtwebkit-devel

Or on Fedora, via dnf:

sudo dnf install qt5-qtwebkit-devel
于 2013-09-09T13:31:57.897 に答える
12

Qt 5.7 用の webkit* Windows ライブラリをインストールする必要がある場合は、新しいバージョンの webkit (WebView?) が WebEngine に置き換えられているため、手動でコンパイルする必要があります。

Qt 5.7 リリースについて読む (コメント): http://blog.qt.io/blog/2016/06/16/qt-5-7-released/

ビルド シーケンス (静的または共有):

1) Qt 5.7.0 ソースをダウンロードします: http://download.qt.io/community_releases/5.7/5.7.0/

2) 必要なツールをダウンロードします: ActiveState Perl (バイナリ)、Python (バイナリ)、Ruby (バイナリ)、GnuWin Bison (バイナリ)、GPref (バイナリ)、Grep (バイナリ)、WinFlex、LibIconv、make (バイナリ)、sqlite (ソース) !)、ICU (ソース)、windows msys (バイナリ) (ツールを備えた unix のようなシェル)、QtWebKit で Qt をビルドするための mingw-w64 (bin+dev)、次のリンクを参照: https://trac.webkit.org/ウィキ/BuildingQtOnWindows

3) ICU ソースを C:\icu\icu にダウンロードした後。スタート ウィンドウ メニューを開いて msys QT mingw コンソール シェルを開き (msys をダウンロードしてインストールする必要があります)、検索するか高速検索を使用します。開いたコンソールで構成スクリプトを開始し、コンパイルしてインストールします。

$ cd C:\icu\icu\ソース

$ ./runConfigureICU

$ set PATH=%PATH%;C:\msys\1.0\bin\

$ make.exe

$ make.exe インストール

4) ICU サポート (!) を使用して Qt をビルドします (構成するには「-icu」を設定します)。以下のコンパイル スクリプトを参照してください。PATH を環境に変更します。

ディレクトリ構造:

  • C:\Qt\5.7.0 - ここから Qt 5.7.0 のバイナリ バージョンをダウンロードします
  • C:\Qt\5.7.0n - 5.7.0 の新しい (コンパイルされた) バージョンのディレクトリ (ディレクトリを作成するだけ)
  • C:\Qt\Src - Qt 5.7.0 のソースをここからダウンロード

C:\Qt\Src\qtbase\compile.bat

set INCLUDE=C:\icu\icu\dist\include
set LIB=C:\icu\icu\dist\lib
set QTDIR=C:\Qt\5.7.0n
set PATH=%PATH%;C:\Qt\Qt5.7.0\5.7\mingw53_32\bin;C:\Qt\Qt5.7.0\Tools\QtCreator\bin;C:\Qt\Qt5.7.0\Tools\mingw530_32\bin;C:\Qt\Src\qtbase\bin;C:\Program Files (X86)\GnuWin32\bin;C:\winflex;C:\Ruby23-x64\bin;C:\Python27;C:\mingw-w64\i686-1\mingw32\bin;C:\icu\bin
set QMAKESPEC=win32-g++
set BUILD_DIR=C:\Qt\Qt5.7.0n
call C:\Qt\Src\qtbase\configure.bat -prefix %BUILD_DIR% -platform %QMAKESPEC% -confirm-license -debug-and-release -opensource -opengl desktop -no-compile-examples -icu -I C:/icu/icu/dist/include -L C:/icu/icu/dist/lib
jom.exe -j 4
pause

たとえば、Windows Power Shell でコマンドを実行します。

$ cd C:\Qt\Src\qtbase

$ ./compile.bat

パススルー コンパイルの後、それを使用して BUILD_DIR にファイルをインストールします (Qt ファイルをインストールします)。

$ C:\mingw-w64\i686-1\mingw32\bin\mingw32-make.exe インストール

Qt のインストールが開始されます

5) Qtwebkit ソースを C:\Qt\Src\qtwebkit にダウンロードします。以下のコンパイル スクリプトを使用して、新しい Qt 5.7.0 ビルドを使用し、C:\Qt\5.7.0n のファイルを ICU で使用して qtwebkit をコンパイルします。

C:\Qt\Src\qtwebkit\Tools\Scripts\compile.bat

set INCLUDE=C:\sqlite
set LIBS=C:\sqlite
set SQLITE3SRCDIR=C:\sqlite
set QTDIR=C:\Qt\Qt5.7.0n
set PATH=%PATH%;C:\Qt\Qt5.7.0n\bin;C:\Qt\Src\qtbase\bin;C:\winflex;C:\Ruby23-x64\bin;C:\Python27;C:\mingw-w64\i686-1\mingw32\bin;C:\icu\bin;C:\Program Files (x86)\GnuWin32\bin
set QMAKESPEC=win32-g++
call perl.exe .\build-webkit --qt --release

qtwebkit をコンパイルします。

$ cd C:\Qt\Src\qtwebkit\Tools\Scripts

$ ./compile.bat

$ cd C:\Qt\Src\qtwebkit\WebKitBuild\Release

$ C:\mingw-w64\i686-1\mingw32\bin\mingw32-make.exe インストール

コンパイルとインストールが成功したら、qtwebkit を使用してアプリケーションをコンパイルできるはずです。

静的な QT を構築する

ファイル C:\Qt\Src\qtbase\compile.bat を編集し、ビルドを通過させます。

...
call C:\Qt\Src\qtbase\configure.bat -prefix %BUILD_DIR% -platform %QMAKESPEC% -confirm-license -debug-and-release -opensource -opengl desktop -static -no-compile-examples -icu
echo "QMAKE_FLAGS += -static -static-libgcc" >> .mkspecs/%QMAKESPEC%/qmake.conf
...

考えられるエラー

1) qtwebkit のビルド中:"fatal error: unicode/uchar.h: No such file or directory"

Qt 5.7.0n が ICU でビルドされていることを確認します。IT は、qtwebkit の構成時に「ICU が必要」について通知することもできます。

2)flex: unknown flag '-'. For usage, try

この場合、「win_flex」である Flex の正しいバージョンを使用する必要があります。flex (および bison) だけでなく、win_flex を使用するようにファイルの名前を変更する必要があります。

1) C:\Program Files (x86)\GnuWin32\bin\flex.exe を未使用の名前に変更します。

2) C:\Program Files (x86)\GnuWin32\bin\bison.exe を未使用の名前に変更します。

3) C:\winflex\win_bison.exe の名前を bison.exe に変更します。

3) qtwebkit のビルド中:"fatal error: sqlite3.h: No such file or directory"

ファイル C:\Qt\Src\qtwebkit\Tools\Scripts\compile.bat を編集し、sqlite への正しいパスを確認します。

set SQLITE3SRCDIR=C:\(path to some SQLITE .h/source files)

4)skipping incompatible ... when searching for ...

適切なライブラリ アーチ (32 ビットまたは 64 ビット) をダウンロードする必要があります。

5)View.cpp ... undefined reference to WKPageCanGoBack

いくつかのテストまたは MiniBrowser を通過するときに発生する可能性があります。「UIProcess/API/qt」および「MiniBroswer」のファイルを検索し、Makefile およびその他のファイルから削除してから、ビルドを再開できます。

リンク

Qt5 のビルド: https://wiki.qt.io/Building_Qt_5_from_Git Qt WebKit ビルド

方法など: https://trac.webkit.org/wiki/BuildingQtOnWindows ICU

GNU でビルド: https://wiki.qt.io/Compiling-ICU-with-MinGW

于 2016-07-12T12:14:27.017 に答える
1

以前のインストールである 5.5 から webkit および webkitwidgets pri ファイルをコピーすることで動作するようになりました。

~/Qt/5.5/clang_64/mkspecs/modules/

于 2016-10-18T19:52:15.223 に答える