The Qt 4 binary edition is linked against a Qt 4 binary edition from The Qt Company, or against a Qt 4 source build with the standard Qt configuration.
If a Qt 4 library is used in which certain features/modules are disabled (i.e., not the standard Qt binary), then you typically get the following error messages in the Runner/Server log:
S: Preload (...): Loading Qt Wrapper failed: The specified procedure could not be found.
S: Preload (...): Loading Qt Wrapper failed: Die angegebene Prozedur wurde nicht gefunden.
(The same thing can happen in Qt 3 if the application's Qt libraries and the ones Squish was built with are configured differently.)
This error message means that one (or several) of the Qt DLLs is incompatible to the ones the Squish binary package was built with. (The Squish Qt 4 binary packages are linked against the Qt 4 binary packages from The Qt Company, or against a Qt 4 source build using the default Qt configuration.)
In the simplest case the main configuration difference is that an application's Qt libraries are built without any of the following modules (which are enabled in Qt 4 by default):
If this is the case (if in doubt please ask your application developers), please contact us to provide you with a Squish for Qt package suitable for that configuration. (Please specify which compiler (MSVC6 - MSVC10) or which version of Visual Studio has been used to compile the Qt libraries.)
Simply using a "Pure Qt 4" binary package of Squish may be sufficient in case only the following default Qt 4 module has been disabled in the Qt libraries of your application:
You can ask Squish support for a package of this type.
|A Pure Qt 4 Squish for Qt binary package requires that your application contains the Qt library Qt4Network.dll from the version of Qt that your application is built with. Without this shared library the error "The specified procedure could not be found." will still occur. (Also see Additional dependencies of Pure Qt 4 packages on Windows.)|
|Please note that a "Pure Qt 4" Squish for Qt binary package will still yield the same error message when the Accessibility module is disabled in the Qt libraries of the application. For this configuration another type of Squish for Qt package will be required. In this case please contact Squish support.|
Copy the Squish Qt DLLs (C:\Squish-4.x-etc\bin\Qt*4.dll) over the Qt DLLs that your application uses. (Make sure you backup the original DLLs first of course.)
This should be enough to make things work, although in rare cases it isn't sufficient.
While not as clean as the other solutions this is often the fastest solution and is particularly useful to get an application working with Squish for evaluation purposes.
Build your application against the Qt binary edition from The Qt Company, or against a Qt 4 source build using the default Qt configuration.
Build Squish from source against your own Qt version. This approach requires the Squish source code, and this is only available to Squish licensees, not to evaluators.
If your application does not use the Qt3Support library (and cannot be changed to use it for the purposes of GUI testing), there are some additional steps that must be followed as your application is classified as a "Pure Qt 4" application, for which see: Installation for Testing Pure Qt 4 Applications