Archives
D Programming
DD.gnu digitalmars.D digitalmars.D.bugs digitalmars.D.dtl digitalmars.D.dwt digitalmars.D.announce digitalmars.D.learn digitalmars.D.debugger C/C++ Programming
c++c++.announce c++.atl c++.beta c++.chat c++.command-line c++.dos c++.dos.16-bits c++.dos.32-bits c++.idde c++.mfc c++.rtl c++.stl c++.stl.hp c++.stl.port c++.stl.sgi c++.stlsoft c++.windows c++.windows.16-bits c++.windows.32-bits c++.wxwindows digitalmars.empire digitalmars.DMDScript |
c++ - BUG: Missing error message when linking an import library
I found this when testing GC. If I forget to define the macro GC_DLL, the resulting gctest.exe ("sc tests\test.c gc.lib -Iinclude -ogctest.exe" under dm\src\gc) will have an application error when running. The error is clear when I build with MSVC: test.obj : error LNK2001: unresolved external symbol _GC_all_interior_pointers test.obj : error LNK2001: unresolved external symbol _GC_is_visible_print_proc test.obj : error LNK2001: unresolved external symbol _GC_is_valid_displacement_print_proc test.obj : error LNK2001: unresolved external symbol _GC_arrays gctest.exe : fatal error LNK1120: 4 unresolved externals DMC really should have reported the same. My trace showed that the program crashed exactly at the point accessing one of the symbols. So I think DMC incorrectly converted a link-time error to a confusing run-time error. I think it a bug. Oct 07 2002
|