|
|
I am trying to build the Qt libraries using the free MSVC 2003 toolkit.
The Microsoft link.exe cannot find the following symbol, the member
function QString::begin(), which is defined inline in <qstring.h>. Here
is the error message I get when the build process gets around to linking
the QCore4.dll:
==== NMAKE output =====
Generating Code...
link /LIBPATH:"f:\Qt\4.4.3\lib" /LIBPATH:"f:\Qt\4.4.3\lib" /NOLOGO
/BASE
:0x67000000 /INCREMENTAL:NO /DLL /VERSION:4.43
/OUT:..\..\lib\QtCore4.dll @F:\TE
MP\nmA4.tmp
Creating library ..\..\lib\QtCore4.lib and object ..\..\lib\QtCore4.exp
QtCore_pch.obj : error LNK2019: unresolved external symbol
"__declspec(dllimport
) public: unsigned short * __thiscall std::basic_string<unsigned
short,struct st
d::char_traits<unsigned short>,class std::allocator<unsigned short>
>::begin(voi
d)"
(__imp_?begin@?$basic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@Q
AEPAGXZ) referenced in function "public: class
std::basic_string<unsigned short,
struct std::char_traits<unsigned short>,class std::allocator<unsigned
short> > _
_thiscall QString::toStdWString(void)const "
(?toStdWString@QString@@QBE?AV?$bas
ic_string@GU?$char_traits@G@std@@V?$allocator@G@2@@std@@XZ)
..\..\lib\QtCore4.dll : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: 'link' : return code '0x460'
Stop.
NMAKE : fatal error U1077: 'F:\PSDK\Bin\nmake.exe' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
==== end NMAKE output ====
I have configured like this:
==== config ====
configure -platform win32-msvc2003 -release -no-webkit -qt-sql-odbc
-qt-sql-sqlite
==== end config ====
I have built Qt before successfully, both on Windows and on Linux (last
time was 4.3.0, also with this compiler). Also, if I use the /Zc:wchar_t
option (=wchar_t is a native type instead of a typedef) I get the same
error message except that basic_string<wchar_t ...etc....> instead of
basic_string<unsigned short ...etc...> is returned in the above error
message.
Both the missing function QString::begin() (returns a non-const
QString::iterator) and the calling function QString::toStdWString() are
inlined in the header qstring.h. Of course, both are defined. Is this
some limitation of the MSVC 2003 Toolkit compiler (AKA MSVC 7.1 for
.NET) regarding inline functions?
Thanks!
_______________________________________________
Qt-interest mailing list
Qt-interest@xxxxxxxxxxxxx
http://lists.trolltech.com/mailman/listinfo/qt-interest
|
|