[antlr-interest] Re: Warning Messages from bulding CPP Lib

rhalin rhalin at yahoo.com
Wed Aug 21 14:49:00 PDT 2002


In response to a question asked in posts 2037, 2040, and 2048:

I had this problem myself when linking with another library(Trolltech 
Qt for platform independant code).  Searched for a good hour or so 
through this archive and didn't find anything that worked.  However, 
the answer was on the mailing list for the other library, so I 
thought I'd post it here for future reference.  Firstly, build your 
ANTLR library with the following option:

/MT or /MTd to enable multithreading and/or debug multithreading.
If you want the menu path to get there:
Project, Settings, C/C++ Tab, Category: Code Generation, Use run-time 
library: Combo - (Multithreaded) or (Debug Multithreaded)

Second, aside from the library, make -sure- your project is being 
built with "Debug Multithreaded"  In my case, "Multithreaded" still 
resulted in one unresolved external:

libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol 
__CrtDbgReport

If I find a way around this, I'll give it a post.  Perhaps this could 
be added to the FAQ?

--- In antlr-interest at y..., "BYue" <BYue at p...> wrote:
> Did anyone compile the current version of antlr\examples\cpp\java 
sample
> sucssefully?
> I got a lot of 30 errors as shown below. Can someone tell me what 
was wrong?
> 
> -------------------Configuration: JavaTest - Win32 Debug------------
--------
> Linking...
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: char const * 
__thiscall
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> >::c_str(void)const "
> (?c_str@?$basic_string at DU?$char_traits at D@std@@V?
$allocator at D@2@@std@@Q
> BEPBDXZ) already defined in JavaLexer.obj
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> >::~basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> >(void)" (??1?
$basic_strin
> g at DU?$char_traits at D@std@@V?$allocator at D@2@@std@@QAE at XZ) already 
defined in
> JavaLexer.obj
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> >::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> >(class
> basic_string<char,s
> truct std::char_traits<char>,class std::allocator<char> 
>::allocator<char>
> const &)"
> (??0?$basic_string at DU?$char_traits at D@std@@V?
$allocator at D@2@@std@@QAE at ABV?$al
> locator at D@1@@Z) already defined in Main.obj
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: void __thiscall
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> >::reserve(unsigned int)"
> (?reserve@?$basic_string at DU?$char_traits at D@std@@V?
$allocator at D@2@@std@@QAE
> XI at Z) already defined in libcpd.lib(wlocale.obj)
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: unsigned int 
__thiscall
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> >::length(void)const "
> (?length@?$basic_string at DU?$char_traits at D@std@@V?
$allocator at D@2@@std@
> @QBEIXZ) already defined in JavaLexer.obj
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > & __thiscall std::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> >::operator+=(c
> lass std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &)"
> (??Y?$basic_string at DU?$char_traits at D@std@@V?
$allocator at D@2@@std@@QAEAAV01 at AB
> V01@@Z) already defined in libcpd.lib(locale.obj)
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> >::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> >(class
> basic_string<char,s
> truct std::char_traits<char>,class std::allocator<char>
> >::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &)"
> (??0?$basic_string at DU?$char_traits at D@std@@V?
$allocator at D@2@@std@@QAE at ABV01@@
> Z) already defined in JavaL
> exer.obj
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: class
> std::basic_ostream<char,struct std::char_traits<char> > & __thiscall
> std::basic_ostream<char,struct std::char_traits<char> >::operator<<
(class
> std::basic_ostream<char,struct std::char_traits
> <char> > & (__cdecl*)(class std::basic_ostream<char,struct
> std::char_traits<char> > &))"
> (??6?$basic_ostream at DU?
$char_traits at D@std@@@std@@QAEAAV01 at P6AAAV01@AAV01@@Z@
> Z) already defined in Main.obj
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "class
> std::basic_ostream<char,struct std::char_traits<char> > & __cdecl
> std::operator<<(class std::basic_ostream<char,struct 
std::char_traits<char>
> > &,char const *)" (??6std@@YAAAV?$basic_ostream at DU?$cha
> r_traits at D@std@@@0 at AAV10@PBD at Z) already defined in Main.obj
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "class
> std::basic_ostream<char,struct std::char_traits<char> > & __cdecl
> std::endl(class std::basic_ostream<char,struct 
std::char_traits<char> > &)"
> (?endl at std@@YAAAV?$basic_ostream at DU?$char_traits at D@std@@
> @1 at AAV21@@Z) already defined in Main.obj
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > & __thiscall std::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> >::operator=(ch
> ar const *)"
> (??4?$basic_string at DU?$char_traits at D@std@@V?
$allocator at D@2@@std@@QAEAAV01 at PB
> D at Z) already defined in libcpd.lib(locale0.obj)
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > & __thiscall std::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> >::operator=(cl
> ass std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &)"
> (??4?$basic_string at DU?$char_traits at D@std@@V?
$allocator at D@2@@std@@QAEAAV01 at AB
> V01@@Z) already defined in libcpd.lib(locale.obj)
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall
> std::_Lockit::~_Lockit(void)" (??1_Lockit at std@@QAE at XZ) already 
defined in
> Main.obj
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall
> std::_Lockit::_Lockit(void)" (??0_Lockit at std@@QAE at XZ) already 
defined in
> Main.obj
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall
> std::ios_base::Init::Init(void)" (??0Init at ios_base@std@@QAE at XZ) 
already
> defined in libcpd.lib(iostream.obj)
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall
> std::ios_base::Init::~Init(void)" (??1Init at ios_base@std@@QAE at XZ) 
already
> defined in libcpd.lib(iostream.obj)
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall
> std::_Winit::_Winit(void)" (??0_Winit at std@@QAE at XZ) already defined 
in
> libcpd.lib(wiostrea.obj)
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall
> std::_Winit::~_Winit(void)" (??1_Winit at std@@QAE at XZ) already defined 
in
> libcpd.lib(wiostrea.obj)
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> >::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> >(char const 
*,class
> basic_
> string<char,struct std::char_traits<char>,class std::allocator<char>
> >::allocator<char> const &)"
> (??0?$basic_string at DU?$char_traits at D@std@@V?
$allocator at D@2@@std@@QAE at PBDABV?
> $allocator at D@1@@Z) already defined in JavaLexer.obj
> msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> >::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> >(unsigned 
int,char,class
> b
> asic_string<char,struct std::char_traits<char>,class 
std::allocator<char>
> >::allocator<char> const &)"
> (??0?$basic_string at DU?$char_traits at D@std@@V?
$allocator at D@2@@std@@QAE at IDABV?$
> allocator at D@1@@Z) already defined in libcpd.lib(locale.obj)
> MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: "public: virtual 
__thiscall
> exception::~exception(void)" (??1exception@@UAE at XZ) already defined 
in
> LIBCD.lib(stdexcpt.obj)
> MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: "public: __thiscall
> exception::exception(class exception const &)" (??
0exception@@QAE at ABV0@@Z)
> already defined in LIBCD.lib(stdexcpt.obj)
> MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _exit already defined in
> LIBCD.lib(crt0dat.obj)
> MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _tolower already defined 
in
> LIBCD.lib(tolower.obj)
> MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: "public: __thiscall
> exception::exception(void)" (??0exception@@QAE at XZ) already defined 
in
> LIBCD.lib(stdexcpt.obj)
> MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _sprintf already defined 
in
> LIBCD.lib(sprintf.obj)
> MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __stricmp already defined 
in
> LIBCD.lib(stricmp.obj)
> LINK : warning LNK4098: defaultlib "MSVCRTD" conflicts with use of 
other
> libs; use /NODEFAULTLIB:library
> Main.obj : error LNK2001: unresolved external symbol "public: void
> __thiscall JavaTreeParser::compilationUnit(class 
antlr::ASTRefCount<class
> antlr::AST>)"
> (?compilationUnit at JavaTreeParser@@QAEXV?
$ASTRefCount at VAST@antlr@@@antlr@@@Z)
> Main.obj : error LNK2001: unresolved external symbol "public: 
__thiscall
> JavaTreeParser::JavaTreeParser(void)" (??0JavaTreeParser@@QAE at XZ)
> Debug/JavaTest.exe : fatal error LNK1120: 2 unresolved externals
> Error executing link.exe.
> 
> JavaTest.exe - 30 error(s), 1 warning(s)


 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 



More information about the antlr-interest mailing list