msvcrt.lib(ehprolog.obj) : fatal error LNK1103: debugging information corrupt; recompile module


Does anyone know why this error only occurs when I link without /Zi? I've never seen an error like this before. Does anyone know a way around linking to msvcrt and advapi32 to get d3dx9 working? I really don't want to use the debug version of the d3dx dll if at all possible. Thanks for any insight.
Posted on 2003-06-14 09:14:40 by AlexEiffel
Did some checking. /Zi puts the debug info in a PDB file. Delete the PDB and try again.
Posted on 2003-06-14 12:52:28 by ThoughtCriminal
Thanks ThoughtCriminal, I appreciate all of the help you've given me. I have things assembling and linking now, but I have one more issue that maybe you could help me with. When I build with d3dx and dxerr and call a couple of functions, my exe jumps up in sixe to about 500k. I wrote a similar program in C++ and the compiler generates only a 200k exe. What is making my exe so large?
Posted on 2003-06-14 15:16:12 by AlexEiffel
If your are getting working exes, I'd worry about size issues last.

Here my guess:

C++ uses function level linking via COMDATs. The C++ complier cl.exe enables this in the obj files. Objs made with ml.exe do not enable function level linking. Function level linking reduces exe size. Someone wrote a tool to enable it:

I have not tried his tool.
Posted on 2003-06-15 04:32:49 by ThoughtCriminal