Skip to main content
GameDev.net gamedev.net
🔒 Locked

Help to make old project compile

Started by noatom Dec 8, 2012 at 11:59 PM 1 replies 2.1k views
Original Post
noatom
noatom
First the project was created in 2004,and it's the source code from the book:
http://www.amazon.com/3D-Game-Engine-Programming-Development/dp/1592003516/ref=sr_1_1?s=books&ie=UTF8&qid=1355010893&sr=1-1&keywords=3d+game+engine+programming

I use Visual Studio 2010.

When I try to compile with incremental linking on:
[source lang="cpp"]1>------ Build started: Project: Pandoras Legacy, Configuration: Debug Win32 ------
1>Build started 12/8/2012 3:56:27 PM.
1>InitializeBuildStatus:
1> Touching ".\Debug\Pandoras Legacy.unsuccessfulbuild".
1>ClCompile:
1> All outputs are up-to-date.
1>ResourceCompile:
1> All outputs are up-to-date.
1>ManifestResourceCompile:
1> All outputs are up-to-date.
1>Link:
1> LINK : .\Debug\Pandoras Legacy.exe not found or not built by the last incremental link; performing full link
1>LINK : warning LNK4040: corrupt string table (size); string table ignored
1>
1>LINK : fatal error LNK1000: Internal error during LIB::Search
1>
1> Version 10.00.30319.01
1>
1> ExceptionCode = C0000005
1> ExceptionFlags = 00000000
1> ExceptionAddress = 004212C0 (00380000) "C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\link.exe"
1> NumberParameters = 00000002
1> ExceptionInformation[ 0] = 00000000
1> ExceptionInformation[ 1] = 7FD90B64
1>
1> CONTEXT:
1> Eax = 00444FEC Esp = 002CDD18
1> Ebx = 02C47D1C Ebp = 002CDD38
1> Ecx = 70B7EF34 Esi = 00000008
1> Edx = 7F94BB78 Edi = 00000000
1> Eip = 004212C0 EFlags = 00010216
1> SegCs = 0000001B SegDs = 00000023
1> SegSs = 00000023 SegEs = 00000023
1> SegFs = 0000003B SegGs = 00000000
1> Dr0 = 00000000 Dr3 = 00000000
1> Dr1 = 00000000 Dr6 = 00000000
1> Dr2 = 00000000 Dr7 = 00000000
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:02.03
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
[/source]

It also appears: Microsoft Incremental Linker has stopped working.


With incremental linking deactivated:
[source lang="cpp"]1>------ Build started: Project: Pandoras Legacy, Configuration: Debug Win32 ------
1>Build started 12/8/2012 3:57:47 PM.
1>InitializeBuildStatus:
1> Touching ".\Debug\Pandoras Legacy.unsuccessfulbuild".
1>ClCompile:
1> All outputs are up-to-date.
1>ResourceCompile:
1> All outputs are up-to-date.
1>CGame.obj : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification
1>LINK : warning LNK4040: corrupt string table (size); string table ignored
1>
1>LINK : fatal error LNK1000: Internal error during LIB::Search
1>
1> Version 10.00.30319.01
1>
1> ExceptionCode = C0000005
1> ExceptionFlags = 00000000
1> ExceptionAddress = 002312C0 (00190000) "C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\link.exe"
1> NumberParameters = 00000002
1> ExceptionInformation[ 0] = 00000000
1> ExceptionInformation[ 1] = 7FCB0B64
1>
1> CONTEXT:
1> Eax = 00254FEC Esp = 0038DE98
1> Ebx = 01E03F10 Ebp = 0038DEB8
1> Ecx = 70B7EF34 Esi = 00000008
1> Edx = 7FA5BB78 Edi = 00000000
1> Eip = 002312C0 EFlags = 00010216
1> SegCs = 0000001B SegDs = 00000023
1> SegSs = 00000023 SegEs = 00000023
1> SegFs = 0000003B SegGs = 00000000
1> Dr0 = 00000000 Dr3 = 00000000
1> Dr1 = 00000000 Dr6 = 00000000
1> Dr2 = 00000000 Dr7 = 00000000
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:03.67
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
[/source]

Again,on screen it appears that microsoft incremental linker has stopped working.





What could cause this error? And does anyone have any ideea how it could be solved?
JohnnyCode
JohnnyCode
what you are experiencing I experienced once. I was told it is a bug, but I somehow workaround it, and it disappeared, cannot remember how though. Try rebuilding every project in solution, ganerate code, so linker gets correct .obj files. What is a string table I do not know, but maybe investigate on string constants in source? Language packages? This is what msdn says on linker fattal erros.


Sometimes the linker is unable to process your object files because they are corrupt. Besides the usual causes of corrupt files such as network problems or exposing a floppy disk to a magnetic field, sometimes the compiler writes an incorrect object file, which you should report to Microsoft Product Support Services.
After you have ruled out a hardware, operating system, or network problem as the cause of the corrupt object file, you should try the tips below. Changing compiler options and recompiling sometimes causes the compiler to write a non-corrupt object file.
Possible solutions
Turn off optimization with the /Od (Disable) option.
Disable minimal rebuild with the /Gm– (Enable Minimal Rebuild) option.
Compile with the /Gy (Enable Function-Level Linking) option to package functions.
Use a different code generation option. See the /G (Optimize for Processor) options.
Change the order of functions and global variables.
[/quote]
Shannon Barber
Shannon Barber
Delete the old object code and any binaries. It looks like it's trying to link a .obj from 2004 with the 2010 toolchain.
The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.