[vbox-dev] 2.0.2 - QT Frontends don't compile on windows: VBoxqt-mt.lib requested, moc not found, ...

S. Brandt sbrandt at gmx.de
Mon Sep 29 15:39:07 GMT 2008


Hi!
It's impossible for me to compile the QT3 and QT4 frontends of the current
VirtualBox version 2.0.2 on windows with Visual Studio 2003.

*First Problem*:

....
C:/home/Projekte/VirtualBox/VirtualBox-2.0.2/kBuild/units/qt3.kmk:178: 
kBuild: Couldn't find the Qt3 headers and libaries...
C:/home/Projekte/VirtualBox/VirtualBox-2.0.2/kBuild/units/qt4.kmk:162: 
kBuild: Couldn't find the Qt4 headers and libaries...
....

By adding the following into the Config.kmk, I got a step further -- obviously,
the windows(?) version of the makefiles gets confused with VBOX_PATH_QT and
PATH_SDK_QT3

PATH_SDK_QT4=C:/Programme/Qt/4.4.0
PATH_SDK_QT3=C:/Programme/Qt/3.3.3

*Second - main - Problem*:

....
kmk.exe[3]: *** No rule to make target `C:/Programme/Qt/3.3.3/lib/VBoxqt-mt.lib'
, needed by `C:/home/Projekte/VirtualBox/VirtualBox-2.0.2/out/win.x86/release/ob
j/VirtualBox/VirtualBox3.exe'.  Stop.
....

As the lib name did not make any sense, I searched for it and found 

 VBOX_DLL_QT ?= $(firstword $(wildcard $(VBOX_PATH_QT)/bin/VBoxQt3*.dll) \
                            $(wildcard $(VBOX_PATH_QT)/bin/qtmt3*.dll) \
                            $(wildcard $(VBOX_PATH_QT)/bin/qt-mt3*.dll) \
                            $(wildcard $(VBOX_PATH_QT)/lib/qt-mt3*.dll))

which, of course, should result in VBoxQt3[-mt].dll if such is present in the qt
dir - nice for the development with patched Qt versions, I believe. No idea
where VBoxqt-mt.lib may stem from ...
Interestingly, I did not find any reference to VBoxqt in any of the kmk files ...

Setting variables such as 

VBOX_DLL_QT=qt-mt3.dll
LIB_QT=qt-mt3.lib

did not help either.

I copied qt-mt3.lib to VBoxqt-mt.lib, and got a small step further:

*Third Problem*:
Moc is not found ... no path given ... 
(cf. the NULL in CreateProcess)

kBuild: Generating VirtualBox - C:/home/Projekte/VirtualBox/VirtualBox-2.0.2/src
/VBox/Main/idl/VirtualBox.xidl
kBuild: moc VirtualBox - C:/home/Projekte/VirtualBox/VirtualBox-2.0.2/src/VBox/F
rontends/VirtualBox/src/VBoxSelectorWnd.cpp
process_begin: CreateProcess(NULL, moc -o C:/home/Projekte/VirtualBox/VirtualBox
-2.0.2/out/win.x86/release/obj/VirtualBox/qtmoc/VBoxSelectorWnd.tmp.moc -i C:/ho
me/Projekte/VirtualBox/VirtualBox-2.0.2/src/VBox/Frontends/VirtualBox/src/VBoxSe
lectorWnd.cpp, ...) failed.
make (e=127): Die angegebene Prozedur wurde nicht gefunden.
kmk: *** [C:/home/Projekte/VirtualBox/VirtualBox-2.0.2/out/win.x86/release/obj/V
irtualBox/qtmoc/VBoxSelectorWnd.tmp.moc] Error 127
The failing command:
        @moc  -o C:/home/Projekte/VirtualBox/VirtualBox-2.0.2/out/win.x86/releas
e/obj/VirtualBox/qtmoc/VBoxSelectorWnd.tmp.moc -i C:/home/Projekte/VirtualBox/Vi
rtualBox-2.0.2/src/VBox/Frontends/VirtualBox/src/VBoxSelectorWnd.cpp

*Forth Third problem*:
Qt4 doesn't work either - same problem with moc.

C:\home\Projekte\VirtualBox\VirtualBox-2.0.2\src\VBox\Frontends\VirtualBox4>kmk
kBuild: Pass - Build Programs
kBuild: Pass - Libraries
kBuild: Pass - DLLs
kBuild: Pass - Programs
kBuild: Generating VirtualBox4 - C:/home/Projekte/VirtualBox/VirtualBox-2.0.2/sr
c/VBox/Main/idl/VirtualBox.xidl
kBuild: moc VirtualBox4 - C:/home/Projekte/VirtualBox/VirtualBox-2.0.2/src/VBox/
Frontends/VirtualBox4/src/VBoxSelectorWnd.cpp
process_begin: CreateProcess(NULL, moc -IC:/home/Projekte/VirtualBox/VirtualBox-
2.0.2/src/VBox/Frontends/VirtualBox4/include -IC:/home/Projekte/VirtualBox/Virtu
alBox-2.0.2/out/win.x86/release/obj/VirtualBox4/include -IC:/PROGRA~2/MICROS~1.N
ET/Vc7/atlmfc/include -IC:/home/Projekte/VirtualBox/VirtualBox-2.0.2/out/win.x86
/release/bin/sdk/bindings/mscom/include -IC:/Programme/Qt/4.4.0/include/QtCore -
IC:/Programme/Qt/4.4.0/include/QtGui -IC:/Programme/Qt/4.4.0/include -IC:/home/P
rojekte/VirtualBox/VirtualBox-2.0.2/out/win.x86/release/obj/VirtualBox4/qtmoc -I
C:/home/Projekte/VirtualBox/VirtualBox-2.0.2/out/win.x86/release/obj/VirtualBox4
/qtuic -IC:/PROGRA~2/MICROS~1.NET/Vc7/PLATFO~1/Include -IC:/PROGRA~2/MICROS~1.NE
T/Vc7/PLATFO~1/Include -IC:/PROGRA~2/MICROS~3/Include -IC:/home/Projekte/Virtual
Box/VirtualBox-2.0.2/include -IC:/home/Projekte/VirtualBox/VirtualBox-2.0.2/out/
win.x86/release -DWIN32 -DVBOX -DVBOX_OSE -DVBOX_WITH_INTERNAL_NETWORKING -DRT_O
S_WINDOWS -D__WIN__ -DRT_ARCH_X86 -D__X86__ -D__WIN32__ -DIN_RING3 -DQT_NO_DEBUG
 -DQT_THREAD_SUPPORT -DQT_SHARED -DHAVE_CONFIG_H -DHC_ARCH_BITS=32 -DGC_ARCH_BIT
S=32 -D_WIN32_WINNT=0x0500 -DUNICODE -D_UNICODE -DQT_DLL -D_CRT_SECURE_NO_DEPREC
ATE -DQT_SHARED -DQT_THREAD_SUPPORT -DQT_ACCESSIBILITY_SUPPORT -DQT_TABLET_SUPPO
RT -DQT_NO_DEBUG -DVBOX_GUI_SEPARATE_VM_PROCESS -DVBOX_WITH_REGISTRATION -DVBOX_
WITH_REGISTRATION_REQUEST -DVBOX_WITH_UPDATE_REQUEST -DVBOX_WITH_ALSA -DVBOX_WIT
H_PULSE -DVBOX_OSE -DQT_CORE_LIB -DQT_GUI_LIB -DVBOX_GUI_USE_QIMAGE -DUNICODE -D
QT_DLL -o C:/home/Projekte/VirtualBox/VirtualBox-2.0.2/out/win.x86/release/obj/V
irtualBox4/qtmoc/VBoxSelectorWnd.tmp.moc C:/home/Projekte/VirtualBox/VirtualBox-
2.0.2/src/VBox/Frontends/VirtualBox4/src/VBoxSelectorWnd.cpp, ...) failed.
make (e=127): Die angegebene Prozedur wurde nicht gefunden.
kmk: *** [C:/home/Projekte/VirtualBox/VirtualBox-2.0.2/out/win.x86/release/obj/V
irtualBox4/qtmoc/VBoxSelectorWnd.tmp.moc] Error 127
The failing command:
        @moc  -IC:/home/Projekte/VirtualBox/VirtualBox-2.0.2/src/VBox/Frontends/
VirtualBox4/include -IC:/home/Projekte/VirtualBox/VirtualBox-2.0.2/out/win.x86/r
elease/obj/VirtualBox4/include -IC:/PROGRA~2/MICROS~1.NET/Vc7/atlmfc/include -IC
:/home/Projekte/VirtualBox/VirtualBox-2.0.2/out/win.x86/release/bin/sdk/bindings
/mscom/include -IC:/Programme/Qt/4.4.0/include/QtCore -IC:/Programme/Qt/4.4.0/in
clude/QtGui -IC:/Programme/Qt/4.4.0/include -IC:/home/Projekte/VirtualBox/Virtua
lBox-2.0.2/out/win.x86/release/obj/VirtualBox4/qtmoc -IC:/home/Projekte/VirtualB
ox/VirtualBox-2.0.2/out/win.x86/release/obj/VirtualBox4/qtuic -IC:/PROGRA~2/MICR
OS~1.NET/Vc7/PLATFO~1/Include -IC:/PROGRA~2/MICROS~1.NET/Vc7/PLATFO~1/Include -I
C:/PROGRA~2/MICROS~3/Include -IC:/home/Projekte/VirtualBox/VirtualBox-2.0.2/incl
ude -IC:/home/Projekte/VirtualBox/VirtualBox-2.0.2/out/win.x86/release -DWIN32 -
DVBOX -DVBOX_OSE -DVBOX_WITH_INTERNAL_NETWORKING -DRT_OS_WINDOWS -D__WIN__ -DRT_
ARCH_X86 -D__X86__ -D__WIN32__ -DIN_RING3 -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT
_SHARED -DHAVE_CONFIG_H -DHC_ARCH_BITS=32 -DGC_ARCH_BITS=32 -D_WIN32_WINNT=0x050
0 -DUNICODE -D_UNICODE -DQT_DLL -D_CRT_SECURE_NO_DEPRECATE -DQT_SHARED -DQT_THRE
AD_SUPPORT -DQT_ACCESSIBILITY_SUPPORT -DQT_TABLET_SUPPORT -DQT_NO_DEBUG -DVBOX_G
UI_SEPARATE_VM_PROCESS -DVBOX_WITH_REGISTRATION -DVBOX_WITH_REGISTRATION_REQUEST
 -DVBOX_WITH_UPDATE_REQUEST -DVBOX_WITH_ALSA -DVBOX_WITH_PULSE -DVBOX_OSE -DQT_C
ORE_LIB -DQT_GUI_LIB -DVBOX_GUI_USE_QIMAGE -DUNICODE -DQT_DLL -o C:/home/Projekt
e/VirtualBox/VirtualBox-2.0.2/out/win.x86/release/obj/VirtualBox4/qtmoc/VBoxSele
ctorWnd.tmp.moc C:/home/Projekte/VirtualBox/VirtualBox-2.0.2/src/VBox/Frontends/
VirtualBox4/src/VBoxSelectorWnd.cpp


Also, switching to the svn version as of today did not improve any of the 
problems.

Compiling on Linux (gentoo, current system) worked w/o any problems.

To tell the truth, I am a bit surprised and annoyed. If been trying to compile
VirtualBox on Windows regularly since about version 1.6.2; and none of the
times, it worked out of the box. For several releases (1.6.2 and 1.6.4, at
least) it was necessary to patch the USB non-support-files; it was necessary to
read the configure.vbs script to find out that the information "--with-Qt3=PATH"
from configure.vbs --help was wrong, and one has to use "--with-qt" instead; and
now, it's a stack of errors where I really lost my appetite of fixing them.
For an "open source" project that releases software that is told to compile on
windows, this is ... weak.

Hope this improves,
Yours sincerely,
Sebastian


PS: and now the system disallows my mail because it contains lines longer than
80 chars 





More information about the vbox-dev mailing list