Hi Viktor, > This is very easy to implement, only needs one extra 'mt=yes' line > in contrib/hbqt/hbqt[s].hbc files.
> However, before we do this, I'd like know if this is indeed the > _real_ solution to the problem. Turning on MT mode decreases performance > by ~30% (AFAIR) in mingw, so it's not a costless option. Here I can share just my experiences with the harbour Qt implementation testing. I spent a lot of time to clarify the build problems with 4.6 and after the successful building the resulted executable testing. My first conclusion was that C++ mode force to the whole build results strange GPF free executables. BTW I repeated these test with the previous Qt 4.5.3 and the results was the same with the native Windows and linux (Fedora 12) cross-builds: the C mode generates executables with strange GPF-s. As I understand from your mails this was specific to my development environment, hard to understand taking into consideration the cross-build experiences. So I tried to enter deeper in this issue with the recommended TDM Mingw offering GCC 4.4.1. and without forcing the C++ mode building. See below a debug log (at the end of this mail). In this log there are thread activities, so I tried to check that all the things are ok serving multithreading. I was very surprised that the default build offers just ST mode. After switching to the MT mode, the resulting executables in C mode in native Windows and linux cross-builds do not present the mentioned strange GPF-s. So please consider these just experiments and not "theory". Best regards, István GNU gdb 6.8 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-pc-mingw32"... (gdb) run Starting program: c:\Downloads\harbour\contrib\hbide/hbide.exe [New thread 2508.0x994] warning: new_QApplication 0 B 7884 KB warning: new_QWidget 0 B 10180 KB warning: new_QVariant 0 B 10188 KB warning: YES release_QVariant 0 B 10204 KB warning: new_QEventLoop 0 B 10316 KB warning: new_QPoint 0 B 10548 KB warning: new_QPoint 0 B 10548 KB warning: YES release_QPoint 0 B 10548 KB warning: YES release_QPoint 0 B 10548 KB warning: new_QSize 0 B 10552 KB warning: new_QSize 0 B 10552 KB warning: YES release_QSize 0 B 10552 KB warning: YES release_QSize 0 B 10552 KB warning: new_QTabWidget 0 B 11052 KB warning: new_QTreeWidget 0 B 12528 KB warning: new_QColor 0 B 12872 KB warning: YES release_QColor 0 B 12876 KB warning: new_QTreeWidgetItem 0 B 13292 KB warning: new_QTreeWidgetItem 0 B 13700 KB warning: new_QTreeWidgetItem 0 B 13700 KB warning: new_QTreeWidgetItem 0 B 13700 KB warning: new_QTreeWidgetItem 0 B 13744 KB warning: new_QTreeWidgetItem 0 B 13744 KB warning: new_QTreeWidgetItem 0 B 13744 KB warning: new_QTreeWidgetItem 0 B 13744 KB warning: new_QTreeWidgetItem 0 B 13744 KB warning: new_QTreeWidgetItem 0 B 13744 KB warning: new_QTreeWidgetItem 0 B 13744 KB warning: new_QTreeWidgetItem 0 B 13744 KB warning: new_QTreeWidgetItem 0 B 13744 KB warning: new_QTreeWidgetItem 0 B 13744 KB warning: new_QDockWidget 0 B 14060 KB warning: new_QListView 0 B 14124 KB warning: new_QStringList 0 B 14128 KB warning: new_QStringListModel 0 B 14132 KB warning: new_QDockWidget 0 B 14228 KB [New thread 2508.0xa84] [New thread 2508.0x1740] warning: new_QTextEdit 0 B 15136 KB warning: new_QDockWidget 0 B 15172 KB warning: new_QTextEdit 0 B 15192 KB warning: new_QDockWidget 0 B 15212 KB warning: new_QTextEdit 0 B 15236 KB warning: new_QGridLayout 0 B 15336 KB warning: new_QSplitter 0 B 15416 KB warning: new_QTextCursor 0 B 15464 KB warning: new_QFont 0 B 15468 KB warning: new_QFontInfo 0 B 15476 KB warning: new_QMenuBar 0 B 15588 KB warning: new_QMenu 0 B 15684 KB warning: new_QAction 0 B 15744 KB warning: new_QAction 0 B 15756 KB warning: new_QAction 0 B 15760 KB warning: new_QMenu 0 B 15764 KB warning: new_QAction 0 B 15812 KB warning: new_QAction 0 B 15816 KB warning: new_QAction 0 B 15816 KB warning: new_QAction 0 B 15816 KB warning: new_QAction 0 B 15820 KB warning: new_QAction 0 B 15820 KB warning: new_QAction 0 B 15824 KB warning: new_QAction 0 B 15824 KB warning: new_QToolBar 0 B 15920 KB warning: new_QAction 0 B 15936 KB warning: new_QAction 0 B 15948 KB warning: new_QAction 0 B 15956 KB warning: new_QAction 0 B 15956 KB warning: new_QAction 0 B 15956 KB warning: new_QAction 0 B 15964 KB warning: new_QAction 0 B 15964 KB warning: new_QAction 0 B 15968 KB warning: new_QAction 0 B 15972 KB warning: new_QAction 0 B 15976 KB warning: new_QAction 0 B 15976 KB warning: new_QAction 0 B 15980 KB warning: new_QAction 0 B 15984 KB warning: new_QAction 0 B 15988 KB warning: new_QAction 0 B 15992 KB warning: new_QAction 0 B 15996 KB warning: new_QAction 0 B 16000 KB warning: new_QAction 0 B 16008 KB warning: new_QAction 0 B 16008 KB warning: new_QAction 0 B 16012 KB warning: new_QAction 0 B 16020 KB warning: new_QAction 0 B 16024 KB warning: new_QAction 0 B 16028 KB warning: new_QAction 0 B 16036 KB warning: new_QAction 0 B 16040 KB warning: new_QAction 0 B 16044 KB warning: new_QAction 0 B 16052 KB warning: new_QAction 0 B 16056 KB warning: new_QAction 0 B 16060 KB warning: new_QAction 0 B 16068 KB warning: new_QStatusBar 0 B 16172 KB warning: new_QLabel 0 B 16296 KB warning: new_QRect 0 B 19388 KB warning: YES release_QRect 0 B 19388 KB warning: new_QLabel 0 B 20076 KB warning: new_QRect 0 B 20076 KB warning: YES release_QRect 0 B 20076 KB warning: new_QLabel 0 B 20076 KB warning: new_QRect 0 B 20076 KB warning: YES release_QRect 0 B 20076 KB warning: new_QLabel 0 B 20076 KB warning: new_QRect 0 B 20076 KB warning: YES release_QRect 0 B 20076 KB warning: new_QLabel 0 B 20076 KB warning: new_QRect 0 B 20076 KB warning: YES release_QRect 0 B 20076 KB warning: new_QLabel 0 B 20076 KB warning: new_QRect 0 B 20076 KB warning: YES release_QRect 0 B 20076 KB warning: new_QLabel 0 B 20076 KB warning: new_QRect 0 B 20076 KB warning: YES release_QRect 0 B 20076 KB warning: new_QLabel 0 B 20076 KB warning: new_QRect 0 B 20076 KB warning: YES release_QRect 0 B 20076 KB warning: new_QLabel 0 B 20076 KB warning: new_QRect 0 B 20076 KB warning: YES release_QRect 0 B 20076 KB warning: new_QLabel 0 B 20076 KB warning: new_QRect 0 B 20076 KB warning: YES release_QRect 0 B 20076 KB warning: new_QRect 0 B 20104 KB warning: YES release_QRect 0 B 20104 KB warning: new_QRect 0 B 20640 KB warning: YES release_QRect 0 B 20640 KB warning: new_QRect 0 B 20676 KB warning: YES release_QRect 0 B 20676 KB warning: new_QRect 0 B 20676 KB warning: YES release_QRect 0 B 20676 KB warning: new_QRect 0 B 20676 KB warning: YES release_QRect 0 B 20676 KB warning: new_QRect 0 B 20676 KB warning: YES release_QRect 0 B 20676 KB warning: new_QRect 0 B 20676 KB warning: YES release_QRect 0 B 20676 KB warning: new_QRect 0 B 20692 KB warning: YES release_QRect 0 B 20692 KB warning: new_QRect 0 B 20692 KB warning: YES release_QRect 0 B 20692 KB warning: new_QRect 0 B 20696 KB warning: YES release_QRect 0 B 20696 KB warning: new_QRect 0 B 20696 KB warning: YES release_QRect 0 B 20696 KB warning: new_QRect 0 B 20696 KB warning: YES release_QRect 0 B 20696 KB warning: new_QRect 0 B 20696 KB warning: YES release_QRect 0 B 20696 KB warning: new_QRect 0 B 20696 KB warning: YES release_QRect 0 B 20696 KB warning: new_QRect 0 B 20700 KB warning: YES release_QRect 0 B 20700 KB warning: new_QRect 0 B 20700 KB warning: YES release_QRect 0 B 20700 KB warning: new_QRect 0 B 20700 KB warning: YES release_QRect 0 B 20700 KB warning: new_QRect 0 B 20732 KB warning: YES release_QRect 0 B 20732 KB warning: new_QRect 0 B 20840 KB warning: YES release_QRect 0 B 20840 KB warning: new_QMenu 0 B 20912 KB warning: new_QPoint 0 B 20912 KB [New thread 2508.0x790] warning: new_QRect 0 B 21004 KB warning: YES release_QRect 0 B 21004 KB [New thread 2508.0x1020] [New thread 2508.0x13f0] Error: dll starting at 0x71170000 not found. Error: dll starting at 0x4080000 not found. warning: Lowest section in C:\Windows\system32\normaliz.dll is .text at 00401000 Error: dll starting at 0x70c30000 not found. BFD: C:\Windows\system32\SLC.dll: Warning: Ignoring section flag IMAGE_SCN_MEM_N OT_PAGED in section .reloc BFD: C:\Windows\system32\SLC.dll: Warning: Ignoring section flag IMAGE_SCN_MEM_N OT_PAGED in section .reloc [New thread 2508.0x408] warning: new_QFileDialog 0 B 28408 KB warning: new_QRect 0 B 28436 KB warning: YES release_QRect 0 B 28436 KB Error: dll starting at 0x60250000 not found. Error: dll starting at 0x711b0000 not found. Error: dll starting at 0x5060000 not found. warning: new_QRect 0 B 34196 KB warning: YES release_QRect 0 B 34196 KB warning: new_QRect 0 B 36008 KB warning: YES release_QRect 0 B 36008 KB warning: new_QStringList 0 B 36016 KB warning: YES release_QStringList 0 B 36020 KB warning: new_QFile 0 B 36020 KB warning: new_QUiLoader 0 B 62404 KB warning: YES release_QFile 0 B 63192 KB warning: YES release_QUiLoader 0 B 63192 KB warning: new_QRect 0 B 63328 KB warning: YES release_QRect 0 B 63328 KB warning: new_QRect 0 B 63328 KB warning: YES release_QRect 0 B 63328 KB [New thread 2508.0xb6c] warning: new_QRect 0 B 65468 KB warning: YES release_QRect 0 B 65468 KB warning: QT_DISCONNECT_SIGNAL: YES clicked() warning: QT_DISCONNECT_SIGNAL: YES clicked() warning: QT_DISCONNECT_SIGNAL: YES clicked() warning: QT_DISCONNECT_SIGNAL: YES currentChanged(int) warning: YES release_QMenu 0 B 65504 KB warning: YES release_QPoint 0 B 65504 KB warning: Critical error detected c0000374 Program received signal SIGTRAP, Trace/breakpoint trap. 0x77018b2f in ntdll!DbgUiConvertStateChangeStructure () from C:\Windows\system32\ntdll.dll (gdb) bt #0 0x77018b2f in ntdll!DbgUiConvertStateChangeStructure () from C:\Windows\system32\ntdll.dll #1 0x7707facb in ntdll!RtlpNtMakeTemporaryKey () from C:\Windows\system32\ntdll.dll #2 0x77080704 in ntdll!RtlpNtMakeTemporaryKey () from C:\Windows\system32\ntdll.dll #3 0x770807f2 in ntdll!RtlpNtMakeTemporaryKey () from C:\Windows\system32\ntdll.dll #4 0x7703fc25 in ntdll!EtwpNotificationThread () from C:\Windows\system32\ntdll.dll #5 0x76629a26 in KERNEL32!HeapLock () from C:\Windows\system32\kernel32.dll #6 0x75699c03 in msvcrt!free () from C:\Windows\system32\msvcrt.dll #7 0x00ba0000 in ?? () #8 0x00000000 in ?? () (gdb) _______________________________________________ Harbour mailing list (attachment size limit: 40KB) Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour