Opened 11 years ago

Closed 11 years ago

Last modified 2 years ago

#4696 closed defect (invalid)

MSVC: ScummVM does not compile with VC++ Express

Reported by: SF/quietust Owned by: lordhoto
Priority: normal Component: Port: Win32
Keywords: build Cc:
Game:

Description

When attempting to build ScummVM using Visual C++ 2008 Express, compilation fails at the end with the error "LINK : fatal error LNK1104: cannot open file 'LIBC.lib'", since the static version of LIBC is not available with the Express edition. Adding libc.lib to the IgnoreDefaultLibraryNames list for VCLinkerTool in ScummVM_Global.vsprops allows it to build successfully, though I don't know if this would impact the ability to compile using the full version of Visual C++ 2008 - if it does, perhaps an additional flag for the create_msvc tool could be added to request the creation of Express-compatible project files.

Ticket imported from: #2891590. Ticket imported from: bugs/4696.

Change History (8)

comment:1 by fingolfin, 11 years ago

Did the old VS project files work with VC++ Express then?

comment:2 by fingolfin, 11 years ago

Owner: set to lordhoto
Summary: ScummVM does not compile with VC++ ExpressMSVC: ScummVM does not compile with VC++ Express

comment:3 by bluegr, 11 years ago

libc is a standard library so it exists in all versions of MSVC. The problem lies with the already compiled 32bit FLAC library (in the VS library package), so as a temporary solution, you can disable FLAC till we sort it out. The 64bit FLAC library seems to be working fine

comment:4 by lordhoto, 11 years ago

I seriously doubt that the old files worked with VC++ Express, at least we do not specify libc.lib to be linked by ourselves AND the old files did also not add "libc.lib" to the ignore list.

FLAC was compiled with all "IgnoreDefaultLibraries" so I'm not sure whether this should be really a problem, I can only say that ScummVM with FLAC 32bit builds fine for me on MSVC 2008 (not Express though).

comment:5 by lordhoto, 11 years ago

I just tried again with the uploaded prebuilt library pack: works just fine for me. Are you using that one or did you compile some libraries on your own?

Maybe you could try to create MSVC project files with all external libraries disabled and tell whether it still fails for you? And when it doesn't fail anymore then, you might want to try out which library specifically breaks the build and report your results here.

comment:6 by SF/quietust, 11 years ago

Upon rebuilding libmad-0.15.1b using VC++ 2008 Express (all of my libraries are self-built), the problem appears to have gone away.

comment:7 by SF/quietust, 11 years ago

Resolution: invalid
Status: newclosed

comment:8 by digitall, 2 years ago

Component: Port: Win32
Note: See TracTickets for help on using tickets.