[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [ns] problem with using the STL with ns under Win NT
--
Free Dmitry Sklyarov !
http://www.freesklyarov.org
> -----Original Message-----
> From: Jonathan Clark []
> Sent: Tuesday, October 23, 2001 9:49 AM
> To: [email protected]
> Subject: [ns] problem with using the STL with ns under Win NT
>
> This symbol is supplied by MSVCP60.DLL and is need by the standard template
> library (MS's version anyway) to support map<>. You need to link with one
> of the following:
>
> libcp.lib
> libcpd.lib
> libcpmt.lib
> libcpmtd.lib
> msvcprt.lib
> msvcprtd.lib
>
> Jonathan
>
> >>>>>
> Hi,
>
> I use in some classes the vector<> class from the STL, and it works.
> Now I added two maps (map<int, int, less<int> > and map<int, PacketQueue*,
> less<int> >) and now it doesn't link anymore :-(
> I'm using VC++.
>
> queue.o : error LNK2001: unresolved external symbol "__declspec(dllimport)
> public: __thiscall std::_Lockit::~_Lockit(void)"
> (__imp_??1_Lockit@std@@AE@XC)
> and the same for std::_Lockit::_Lockit(void)
>
> I don't use any class called Lockit anywhere in my code, so where might it
> come from, what can I do ?
>
> Thanks
> Alex
>
I had the same problem.
The cause is that in the windows makefile the switch -D_MT is used (I assume _MT as in multithreading, and the LockIt thingy locks something). But ns ain't multithreaded :-/
I put an "#undef _MT everywhere where required to make it link. Not exactly a fix, but it works.
Bye
Alex