Hi all,

I am attempting to reinstall Qt 4.7.1 (commercial license) on Win 7 (64bit). I am encountering "unresolved externals" during the build.

The original installation was on C:, but for diskspace reasons I decided to install on another drive "J:".

Here is the description of where I am at, what I did, etc.

I have msvc2008 Express installed.

Based on some advice I encountered while googling I installed Activestate's Perl.

I have rebooted to ensure that all changes to environmental variables are in effect. Issuing the SET command at the prompt shows that J:\Qt\4.7.1\bin; is in the path.

I desire to have various shadow build directories for the SDK. The current installation is in J:\Qt\4.7.1 The shadow directory I am trying to build is J:\Qt\4.7.1-rel-dll

I am running configure from J :\Qt\4.7.1-rel-dll

When I run configure I issue the following command

..\4.7.1\configure -release -shared -prefix J:/Qt/4.7.1/release -platform win32-msvc2008
Configure seems to run uneventfully. When configure completes I run nmake.

nmake runs for awhile and then terminates with

..\..\lib\QtNetwork4.dll : fatal error LNK1120: 31 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\link.EXE"' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
BUT, when I issue find /cygdrive/j/Qt -iname "*QtNetwork4.*" from the cygwin prompt I get:
$ find /cygdrive/j/Qt -iname "*QtNetwork4.*"
/cygdrive/j/Qt/4.7.1/bin/QtNetwork4.dll
/cygdrive/j/Qt/4.7.1/lib/QtNetwork4.lib
/cygdrive/j/Qt/4.7.1-rel-dll/lib/QtNetwork4.exp
/cygdrive/j/Qt/4.7.1-rel-dll/lib/QtNetwork4.lib <------ huh? I asked for a DLL, not a lib
/cygdrive/j/Qt/qtcreator-2.0.1/bin/QtNetwork4.dll
For some reason, I find QtNetwork4.lib instead of QtNetwork4.dll
Not what I expected. Maybe QtNetwork4.lib is an intermediate file and not the final work product.


Looking through the messages, I see trouble beginning after the linker begins creating QtNetwork4.lib

Qt Code:
  1. moc_qtcpsocket.cpp
  2. moc_qudpsocket.cpp
  3. link /LIBPATH:"j :\Qt\4.7.1-rel-dll\lib" /LIBPATH:"j:\Qt\4.7.1-rel-dll\lib" /NOLOGO /BASE:0x64000000 /INCREMENTAL:NO /DLL /MANIFEST /MANIFESTFILE:"tmp\obj\release_shared\QtNetwork.intermediate.manifest" /VERSION:4.71 /OUT:..\..\lib\QtNetwork4.dll @C:\Users\A\AppData\Local\Temp\nm4A5E.tmp
  4. Creating library ..\..\lib\QtNetwork4.lib and object ..\..\lib\QtNetwork4.exp
  5. qnetworkreplyimpl.obj : error LNK2001: unresolved external symbol "public: bool __thiscall QSslCertificate::operator==(class QSslCertificate const &)const " (??8QSslCertificate@@QBE_NABV0@@Z)
  6. qabstractsocket.obj : error LNK2001: unresolved external symbol "public: bool __thiscall QSslCertificate::operator==(class QSslCertificate const &)const " (??8QSslCertificate@@QBE_NABV0@@Z)
  7. moc_qhttpnetworkreply_p.obj : error LNK2019: unresolved external symbol "public: bool __thiscall QSslCertificate::operator==(class QSslCertificate const &)const " (??8QSslCertificate@@QBE_NABV0@@Z) referenced in function "public: void __thiscall QSslSocket::`default constructor closure'(void)" (??_F
  8. QSslSocket@@QAEXXZ)
  9. moc_qnetworkaccesshttpbackend_p.obj : error LNK2001: unresolved external symbol "public: bool __thiscall QSslCertificate::operator==(class QSslCertificate const &)const " (??8QSslCertificate@@QBE_NABV0@@Z)
  10. qnetworkaccessmanager.obj : error LNK2001: unresolved external symbol "public: bool __thiscall QSslCertificate::operator==(class QSslCertificate const &)const " (??8QSslCertificate@@QBE_NABV0@@Z)
  11. qnetworkaccesshttpbackend.obj : error LNK2001: unresolved external symbol "public: bool __thiscall QSslCertificate::operator==(class QSslCertificate const &)const " (??8QSslCertificate@@QBE_NABV0@@Z)
  12. qnetworkrequest.obj : error LNK2001: unresolved external symbol "public: bool __thiscall QSslCertificate::operator==(class QSslCertificate const &)const " (??8QSslCertificate@@QBE_NABV0@@Z)
  13. qnetworkreply.obj : error LNK2001: unresolved external symbol "public: bool __thiscall QSslCertificate::operator==(class QSslCertificate const &)const " (??8QSslCertificate@@QBE_NABV0@@Z)
  14. qhttp.obj : error LNK2001: unresolved external symbol "public: bool __thiscall QSslCertificate::operator==(class QSslCertificate const &)const " (??8QSslCertificate@@QBE_NABV0@@Z)
  15. qhttpnetworkreply.obj : error LNK2001: unresolved external symbol "public: bool __thiscall QSslCertificate::operator==(class QSslCertificate const &)const " (??8QSslCertificate@@QBE_NABV0@@Z)
  16. qhttpnetworkconnection.obj : error LNK2001: unresolved external symbol "public: bool __thiscall QSslCertificate::operator==(class QSslCertificate const &)const " (??8QSslCertificate@@QBE_NABV0@@Z)
  17. qhttpnetworkconnectionchannel.obj : error LNK2001: unresolved external symbol "public: bool __thiscall QSslCertificate::operator==(class QSslCertificate const &)const " (??8QSslCertificate@@QBE_NABV0@@Z)
  18. qnetworkreplyimpl.obj : error LNK2001: unresolved external symbol "public: __thiscall QSslCertificate::QSslCertificate(class QByteArray const &,enum QSsl::EncodingFormat)" (??0QSslCertificate@@QAE@ABVQByteArray@@W4EncodingFormat@QSsl@@@Z)
  19. qabstractsocket.obj : error LNK2001: unresolved external symbol "public: __thiscall QSslCertificate::QSslCertificate(class QByteArray const &,enum QSsl::EncodingFormat)" (??0QSslCertificate@@QAE@ABVQByteArray@@W4EncodingFormat@QSsl@@@Z)
  20. moc_qhttpnetworkreply_p.obj : error LNK2001: unresolved external symbol "public: __thiscall QSslCertificate::QSslCertificate(class QByteArray const &,enum QSsl::EncodingFormat)" (??0QSslCertificate@@QAE@ABVQByteArray@@W4EncodingFormat@QSsl@@@Z)
  21. moc_qnetworkaccesshttpbackend_p.obj : error LNK2001: unresolved external symbol "public: __thiscall QSslCertificate::QSslCertificate(class QByteArray const &,enum QSsl::EncodingFormat)" (??0QSslCertificate@@QAE@ABVQByteArray@@W4EncodingFormat@QSsl@@@Z)
  22. qnetworkaccessmanager.obj : error LNK2001: unresolved external symbol "public: __thiscall QSslCertificate::QSslCertificate(class QByteArray const &,enum QSsl::EncodingFormat)" (??0QSslCertificate@@QAE@ABVQByteArray@@W4EncodingFormat@QSsl@@@Z)
  23. qnetworkaccesshttpbackend.obj : error LNK2001: unresolved external symbol "public: __thiscall QSslCertificate::QSslCertificate(class QByteArray const &,enum QSsl::EncodingFormat)" (??0QSslCertificate@@QAE@ABVQByteArray@@W4EncodingFormat@QSsl@@@Z)
  24. qnetworkrequest.obj : error LNK2001: unresolved external symbol "public: __thiscall QSslCertificate::QSslCertificate(class QByteArray const &,enum QSsl::EncodingFormat)" (??0QSslCertificate@@QAE@ABVQByteArray@@W4EncodingFormat@QSsl@@@Z)
  25. qnetworkreply.obj : error LNK2001: unresolved external symbol "public: __thiscall QSslCertificate::QSslCertificate(class QByteArray const &,enum QSsl::EncodingFormat)" (??0QSslCertificate@@QAE@ABVQByteArray@@W4EncodingFormat@QSsl@@@Z)
  26. qhttp.obj : error LNK2019: unresolved external symbol "public: __thiscall QSslCertificate::QSslCertificate(class QByteArray const &,enum QSsl::EncodingFormat)" (??0QSslCertificate@@QAE@ABVQByteArray@@W4EncodingFormat@QSsl@@@Z) referenced in function "public: void __thiscall QSslCertificate::`default
  27. constructor closure'(void)" (??_FQSslCertificate@@QAEXXZ)
  28. qhttpnetworkreply.obj : error LNK2001: unresolved external symbol "public: __thiscall QSslCertificate::QSslCertificate(class QByteArray const &,enum QSsl::EncodingFormat)" (??0QSslCertificate@@QAE@ABVQByteArray@@W4EncodingFormat@QSsl@@@Z)
  29. qhttpnetworkconnection.obj : error LNK2001: unresolved external symbol "public: __thiscall QSslCertificate::QSslCertificate(class QByteArray const &,enum QSsl::EncodingFormat)" (??0QSslCertificate@@QAE@ABVQByteArray@@W4EncodingFormat@QSsl@@@Z)
To copy to clipboard, switch view to plain text mode 

It is a mystery to me why I am encountering this error. Does anyone have a suggestion/recommendation?