Re: warning LNK4221 with VS2005 but not with VS2003
- From: "Carl Daniel [VC++ MVP]" <cpdaniel_remove_this_and_nospam@xxxxxxxxxxxxxxx>
- Date: Mon, 23 Oct 2006 11:15:02 -0700
"Eric" <clement.eric@xxxxxxxxx> wrote in message
news:1161625254.986595.172440@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Eric wrote:
Hi,
I get this warning
yywcsskp.obj : warning LNK4221: no public symbols found; archive member
will be inaccessible
when I compile a static library with VS2005. But the same project with
VS2003 doesn't give this warning.
And this warning seem to cause me problem when I want to link an
application with this library. I got some unresolved external symbol
like this
my_lexer.obj : error LNK2001: unresolved external symbol "public:
virtual void __thiscall yl::yywlexer::yyerror(unsigned short const *)"
(?yyerror@yywlexer@yl@@UAEXPBG@Z)
Can somebody help me ? Is it a VS2005 known bug ?
It's likely the result of fixing a bug in 2003, but since you haven't posted
any code, it's impossible to know for sure.
How is yl::yywlexer::yyerror declared? How is the class yl::yywlexer
declared?
and why the size of the generated library is very different between
VS2005 and VS2003 ?
2,418 KB (VS2005) vs 1,679 KB (VS2003)
Probably larger symbol information in the 2005 library. The code itself
shouldn't be larger unless it's a debug build - the 2005 compiler includes
more runtime checks in debug builds than 2003 did.
-cd
.
- Follow-Ups:
- References:
- Prev by Date: Re: warning LNK4221 with VS2005 but not with VS2003
- Next by Date: Re: warning LNK4221 with VS2005 but not with VS2003
- Previous by thread: Re: warning LNK4221 with VS2005 but not with VS2003
- Next by thread: Re: warning LNK4221 with VS2005 but not with VS2003
- Index(es):
Relevant Pages
|