[antlr-interest] antlr on Microsoft Visual C++ 6 ...

Mark Kattenbelt mark.kattenbelt at gmail.com
Mon Mar 27 03:31:49 PST 2006


Hello Benjamin,

Did you use precompiled headers? This solved some linker errors for me. 
Also are you compiling it to be a dynamic or static library? What flags 
did you define?

Cheers,

Mark
> Hello everyone,
>
> are there any tricks and intricacies concerning the usage of antlr on 
> Microsoft Visual C++? The reason why I'm asking is that I'm getting 
> loads of linker errors.
>
> Linker arguments:
> C:\Programme\antlr\lib\antlr.lib kernel32.lib user32.lib gdi32.lib 
> winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib 
> oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib 
> gdi32.lib winspool.lib comdlg32.lib advapi32.lib sh
> ell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib 
> /subsystem:console /incremental:no "/pdb:Release/antlr.pdb" 
> /machine:I386 "/out:Release/antlr.exe"
> .\Release\antlr.obj
>
> The first few linker error messages:
> libcp.lib(locale.obj) : error LNK2005: "public: static class 
> std::locale::id std::num_put<char,class 
> std::ostreambuf_iterator<char,struct std::char_traits<char> > >::id" 
> (?id@?$num_put at DV?$ostreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@2V0lo 
>
> cale at 2@A) already defined in antlr.lib(CharScanner.obj)
> libcp.lib(locale.obj) : error LNK2005: "public: static class 
> std::locale::id std::numpunct<char>::id" 
> (?id@?$numpunct at D@std@@2V0locale at 2@A) already defined in 
> antlr.lib(CharScanner.obj)
> antlr.obj : error LNK2001: unresolved external symbol "public: void 
> __thiscall P::startRule(void)" (?startRule at P@@QAEXXZ)
> antlr.obj : error LNK2001: unresolved external symbol "public: 
> __thiscall P::P(class antlr::TokenStream &)" 
> (??0P@@QAE at AAVTokenStream@antlr@@@Z)
> antlr.obj : error LNK2001: unresolved external symbol "public: 
> __thiscall L::L(class std::basic_istream<char,struct 
> std::char_traits<char> > &)" 
> (??0L@@QAE at AAV?$basic_istream at DU?$char_traits at D@std@@@std@@@Z)
> antlr.lib(String.obj) : error LNK2001: unresolved external symbol 
> "public: void __thiscall std::_String_base::_Xlen(void)const " 
> (?_Xlen at _String_base@std@@QBEXXZ)
> antlr.lib(BaseAST.obj) : error LNK2001: unresolved external symbol 
> "public: void __thiscall std::_String_base::_Xlen(void)const " 
> (?_Xlen at _String_base@std@@QBEXXZ)
>
> The antlr is version 2.7.5, the msi packet, on Windows XP 2 with the 
> mentioned development environment. And, to reduce confusion, this is a 
> small trial project which I named "antlr".
>
> Cheers and thanks
> Benjamin
>



More information about the antlr-interest mailing list