Witam serdecznie,
Otrzymałem zlecenie dobudowania do pewnego programu opcji generowania thumbnails'ów stron internetowych (screenshoty stron internetowych). Po dość długim przeglądaniu sieci, dowiedziałem się, że mogę to zrobić korzystając z kodu aplikacji CutyCapt (http://cutycapt.sourceforge.net/). Program ten został oparty na darmowych bibliotekach QT, w wersji > 4.0 (http://trolltech.com/products/qt/).
Pobrałem wskazany pakiet, lecz mam bardzo spore problemy z jego kompilacją.
Po rozpakowaniu podaje ścieżkę do skryptu generującego zmienne systemu:
c:\> "d:\Microsoft Visual Studio\VC98\bin\VCVARS32.BAT"
następnie podaje zmienne ścieżki do rozpakowanego QT, a także deklaruje opcję win32-msvc (uwaga! muszę korzystać z Visual Studio 6.0!).
c:\> set QTDIR=f:\qt443
c:\> set PATH=%QTDIR%\bin;%PATH%
c:\> set QMAKESPEC=win32-msvc
następnie przechodzę do katalogu QT
cd %QTDIR%
zlecam zbudowanie pliku 'makefile' za pomocą programu 'configure'
f:\qt443\configure -webkit -assistant-webkit
Po paru minutach, w katalogu pojawia się sporo pliczków. Niestety muszę jeszcze raz przebudować kod QT za pomocą 'nmake', aby wygenerować pliki .lib oraz część includów. Wszystko jest pięknie ładnie, do momentu...
f:\qt443\nmake
(... dużo, dużo raportów z kompilacji... )
Generating Code...
cl -c -nologo -Zm200 -O1 -MD -W3 -GR -GX -DQT_SHARED -DQT_THREAD_SUPPORT
-DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_BUILD_SVG_LIB -DQT_NO_USING_NAMESPACE -DQ
T_MAKEDLL -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_
COMPAT -D_USE_MATH_DEFINES -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I"
..\..\include\QtCore" -I"..\..\include\QtCore" -I"..\..\include\QtGui" -I"..\..\
include\QtGui" -I"..\..\include" -I"..\..\include\QtSvg" -I"tmp\rcc\debug_shared
" -I"tmp" -I"..\3rdparty\harfbuzz\src" -I"f:\qt443\include\ActiveQt" -I"tmp\moc\
release_shared" -I"." -I"..\..\mkspecs\win32-msvc" -Fotmp\obj\release_shared\ @C
:\DOCUME~1\Seether\USTAWI~1\Temp\nmb00536.
moc_qsvgwidget.cpp
link /LIBPATH:"f:\qt443\lib" /LIBPATH:"f:\qt443\lib" /NOLOGO /BASE:0x660
00000 /INCREMENTAL:NO /DLL /VERSION:4.43 /OUT:..\..\lib\QtSvg4.dll @C:\DOCUME~1\
Seether\USTAWI~1\Temp\nmc00536.
Creating library ..\..\lib\QtSvg4.lib and object ..\..\lib\QtSvg4.exp
copy /y "..\..\lib\QtSvg4.dll" ..\..\bin
Liczba skopiowanych plików: 1.
cd src\3rdparty\webkit\WebCore\ && NMAKE -f Makefile
Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
NMAKE -f Makefile.Debug all
Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
cl -c -Yc -Fptmp\obj\debug_shared\QtWebKitd_pch.pch -Fotmp\obj\debug_sha
red\QtWebKitd_pch.obj -nologo -Zm200 -Zi -MDd -GR -GX -DQT_SHARED -DQT_THREAD_SU
PPORT -DUNICODE -DQT_LARGEFILE_SUPPORT -DBUILDING_QT__=1 -DUSE_SYSTEM_MALLOC -DN
DEBUG -DQT_MAKEDLL -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT
-DQT_MOC_COMPAT -D_USE_MATH_DEFINES -DBUILD_WEBKIT -DENABLE_ICONDATABASE=0 -D_HA
S_TR1=0 -DENABLE_XPATH=1 -DENABLE_SVG=1 -DWTF_CHANGES=1 -DWTF_USE_JAVASCRIPTCORE
_BINDINGS=1 -DQT_DLL -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I"..\..\..\..\
include\QtCore" -I"..\..\..\..\include\QtCore" -I"..\..\..\..\include\QtNetwork"
-I"..\..\..\..\include\QtNetwork" -I"..\..\..\..\include\QtGui" -I"..\..\..\..\
include\QtGui" -I"..\..\..\..\include" -I"..\WebKit\qt\Api" -I"f:\qt443\src\3rdp
arty\webkit\JavaScriptCore" -I"f:\qt443\src\3rdparty\webkit\JavaScriptCore\kjs"
-I"f:\qt443\src\3rdparty\webkit\JavaScriptCore\bindings" -I"f:\qt443\src\3rdpart
y\webkit\JavaScriptCore\bindings\c" -I"f:\qt443\src\3rdparty\webkit\JavaScriptCo
re\wtf" -I"f:\qt443\src\3rdparty\webkit\JavaScriptCore\ForwardingHeaders" -I"."
-I"ForwardingHeaders" -I"platform" -I"platform\network" -I"platform\graphics" -I
"loader" -I"page" -I"css" -I"dom" -I"bridge" -I"editing" -I"rendering" -I"histor
y" -I"xml" -I"html" -I"plugins" -I"..\..\..\..\include\QtWebKit" -I"tmp\rcc\debu
g_shared" -I"tmp" -I"generated" -I"platform\qt" -I"platform\network\qt" -I"platf
orm\graphics\qt" -I"platform\graphics\svg\qt" -I"loader\qt" -I"page\qt" -I"..\We
bKit\qt\WebCoreSupport" -I"..\WebKit\qt\Api" -I"." -I"ForwardingHeaders" -I"..\.
.\webkit" -I"f:\qt443\src\3rdparty\webkit\WebCore\..\JavaScriptCore\kjs" -I"f:\q
t443\src\3rdparty\webkit\WebCore\..\JavaScriptCore\bindings" -I"platform" -I"pla
tform\network" -I"platform\graphics" -I"platform\graphics\svg" -I"platform\graph
ics\svg\filters" -I"loader" -I"loader\icon" -I"css" -I"dom" -I"page" -I"bridge"
-I"editing" -I"rendering" -I"history" -I"xml" -I"html" -I"bindings\js" -I"ksvg2"
-I"ksvg2\css" -I"ksvg2\svg" -I"ksvg2\misc" -I"ksvg2\events" -I"platform\image-d
ecoders" -I"f:\qt443\include\ActiveQt" -I"tmp\moc\debug_shared" -I"." -I"..\..\.
.\..\mkspecs\win32-msvc" -TP ..\WebKit\qt\WebKit_pch.h
WebKit_pch.h
..\WebKit\qt\WebKit_pch.h(30) : fatal error C1083: Cannot open include file: '..
/../JavaScriptCore/kjs/config.h': No such file or directory
NMAKE : fatal error U1077: 'D:\MICROS~3\VC98\BIN\cl.exe' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'D:\MICROS~3\VC98\BIN\NMAKE.EXE' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
Program wykłada się podczas 'kompilowania' (?) najważniejszej dla mnie części pakietu QT, mianowicie przy qtWebkit. Na skutek błędu nie powstają pliki qtWebKit.dll, ani qtWebKit.lib, co uniemożliwia mi poprawną kompilacje CutyCapt :(.
Byłbym wdzięczny gdyby ktoś obeznany z tematem rzucił na to okiem. Może nie podałem jakiś zmiennych? Może podałem błędne parametry kompilacji? Bardzo proszę o wsparcie. Błąd pojawia się zarówno przy wersji QT4.4.0 jak i QT4.4.3 :( . Problem pojawia się także przy pominięciu parametrów '-webkit -assistant-webkit'.