Lnk 4221 Warning during building stlport on VS 2005

I have tried to build stlport on vs 2005 RTM,but got a LNK 4221
warning.
But on vs.net 2003(vc 7.1),there are no errors and warnings.

So I try to use LIB.exe in vc 7.1 to generate lib file from objs
generated by vc 8,hah,No warning!!

Is there a bug in LIB.exe in vc 8

regards,




Answer this question

Lnk 4221 Warning during building stlport on VS 2005

  • will rpberts

    thanks.
    I'll try again to post it on their fornum cuz I did it and nobody replied me.

  • Siddharth Bhatia MSFT

    It appears that there are no public symbols in such OBJ. I would advise you to take it their forums or support since it is going to be hard to trace what is happening without the sources.

    Or you can use the tool dumpbin to see if there are public symbols.

    The following links might be helpful though:
    http://support.microsoft.com/default.aspx scid=kb;en-us;815773
    http://ms dn2.microsoft.com/en-us/library/604bzebd.aspx

    Thanks,
      Ayman Shoukry
      VC++ Team

  • Jim Hollcraft

    It could be that there was a bug in VC7.1 that got fixed in VC8.0.

    Please post a sample reproducing the issue if possbile.

    Thanks,
      Ayman Shoukry
      VC++ Team

  • Jens Karlsson

    The build of STLport is 5.0 just released,supports vc 8.I followed the instruction to build it.
    Then I logged the result.I found every lib will generate that 4221 warning like the following:
    lib /nologo  /OUT:obj\vc8\static-stlg\stlportstld_static.5.0.lib obj\vc8\static-stlg\dll_main.o obj\vc8\static-stlg\fstream.o obj\vc8\static-stlg\strstream.o obj\vc8\static-stlg\sstream.o obj\vc8\static-stlg\ios.o obj\vc8\static-stlg\stdio_streambuf.o obj\vc8\static-stlg\istream.o obj\vc8\static-stlg\ostream.o obj\vc8\static-stlg\iostream.o obj\vc8\static-stlg\codecvt.o obj\vc8\static-stlg\collate.o obj\vc8\static-stlg\ctype.o obj\vc8\static-stlg\monetary.o obj\vc8\static-stlg\num_get.o obj\vc8\static-stlg\num_put.o obj\vc8\static-stlg\num_get_float.o obj\vc8\static-stlg\num_put_float.o obj\vc8\static-stlg\numpunct.o obj\vc8\static-stlg\time_facets.o obj\vc8\static-stlg\messages.o obj\vc8\static-stlg\locale_impl.o obj\vc8\static-stlg\locale_catalog.o obj\vc8\static-stlg\facets_byname.o obj\vc8\static-stlg\complex.o obj\vc8\static-stlg\complex_exp.o obj\vc8\static-stlg\complex_io.o obj\vc8\static-stlg\complex_trig.o obj\vc8\static-stlg\complex_io_w.o obj\vc8\static-stlg\string_w.o obj\vc8\static-stlg\c_locale.o
    complex_io_w.o : warning LNK4221: no public symbols found; archive member will be inaccessible
    There are 3 Lnk4221 warnings cuz it need build 3 static libs.It seems like something wrong with complex_io_w.o.
    Dlls have no problem.

    Thanks for your reply!



  • Lnk 4221 Warning during building stlport on VS 2005