The QtSql.lib file is in the search path along with the others that were built, so I don't see what I am missing. If I reboot my machine from the other disk back in to Windows Vista I know the project will build and run.

I have searched for this error but I get nothing so it kind of points the finger at me but after much faffing around I am no wiser so I would really appreciate your comments on this please.

Thank you for the replies, so to update I've just recompiled Qt from the 4.7.2 sources and I am still getting these unresolved errors. I also built Qt from 4.7.2 using the Intel C++ Composer XE 2011 (v12.0.1024.2010) (as this is our main compiler tool) and I still end up with the same results.

Using Depends on the (Intel) built .libs results in an error:
QTSQL.LIB No DOS or PE signature found. This file is not a valid 32-bit or 64-bit Windows module.

However, the same error is generated regardless of what .lib file I open and I only get unresolved errors for this library. I don't know how to proceed I am at a complete loss. Can anyone shed some light on this issue please I'm getting desperate.

[quote author="Volker" date="1301776666"]The error message looks like there are some libraries for ODBC are missing.[/quote]

Hi Volker, I agree and is semi-evident from the output. I have since installed Visual Studio 2008, and the Intel Compiler v11.1.850.2008 on the Windows 7 Machine and copied over the original libraries again without success. I'm now resigned to making my required changes under Vista and VS 2008.

Since we cannot point the finger in any one direction, be that Windows 7, Nokia, Visual Studio, Intel or us we have decided to drop Qt. There has been many man hours wasted on this on what was assumed would be a relatively pain free upgrade, and we have more to do with our time than waste it.

Too bad you feel you have to throw away many man hours just because you cannot build one library, I'm guessing that's more of a bad project management decision than a bad technical one.

I had a similar thing with my RPC library that uses std::strings encoded in UTF8, so jumping back and forth between QStrings and std::strings was a nightmare, all because we do remoting to an application server that runs database tasks.

Instead of throwing away many man hours because of the overhead of transforming strings back and forth, we opted for using another database library that uses std::strings in UTF8 as well and that way we needed to do less QString - std::string conversions.

The library is called POCO C++, check it out, and use it instead of QtSql, that way you can keep the cool QtGui lib and not throw away all of your code, and just replace the one library that's giving you headaches.

EDIT: and btw, if your time is so precious and expensive that you can't waste it fixing issues, you should instead buy some Qt licenses and get commercial support, that way you get a warranty that your product will work the way you expect, and if it doesn't you get some of the best Qt programmers to help you get it running as expected.

For what it's worth I agree with Raul, a serious waste of time, effort and no doubt money. If it's of any help make sure you link with the odbc libraries found in your Windows SDK. This should of course happen by default assuming your SDK's library path in referenced in your environment.