[antlr-interest] More VC++ 6 Confusion (MFC libs)

kemmerzehl malitrait at start.com.au
Sun Dec 30 04:42:22 PST 2001


Hi,
  I do hate to add to your list of confused VC++ user messages but 
I've followed the steps from your existing discussions/literature and 
I'm still having some problems. It appears this particular issue has 
not yet been addressed although it seems like it would be a 
common problem so I do apologise if I've missed something.
  Anyway, here's the problem. Quite simply, the ANTLR and MFC libs 
just wont work for me together - I get link errors. I've built my 
ANTLR lib files according to JSRS's 'How To', and by themselves they 
work well. If I use VC++ to create a 'Win32 Console Application' and 
do NOT include MFC support, then add the generated calc example files 
and add the ANTLR library, everything compiles links and runs fine. 
If, however, I do the same thing only I DO include MFC support (and 
remembering to take off the /Yu"stdafx.h" flag), I get the following 
link errors:

LIBC.lib(cfout.obj) : error LNK2005: ___dtold already defined in 
libcmt.lib(cfout.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: __cinit already defined in 
libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: _exit already defined in 
libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: __exit already defined in 
libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: __cexit already defined in 
libcmt.lib(crt0dat.obj)
..etc.

  One rather odd thing is that I can get the _debug_ build to work
(for the calc example) if I link statically to MFC and use the /MT 
flag instead of /MTd(default for debug builds). These flags represent 
the "Multithreaded" and "Debug Multithreaded" runtime libraries, 
available in the "Code Generation" dropdown section of the "C++" tab 
in Project -> Settings. This however does not fix the problem for the 
release build, I even tried using JSRS's debug version of the ANTLR 
library with the release build (using /MT) and I still got link 
errors. Also, I could not get rid of the link errors at all for the 
project im working on (with either build).
  All of this is purely trial and error for me as I've never had to 
deal with third-party libraries before. I hope some of the info I've 
provided can be of use and that somebody out there has experienced 
this linking problem before and knows how to fix it. Either way, I'm 
going to keep ripping my hair out trying to fix it, if I find a 
solution I'll post it.

Thanks,
-Kemmerzehl


 

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



More information about the antlr-interest mailing list