views:

26

answers:

0

I discovered yesterday that one of our projects is linking in a few libraries that aren't specified in the project.

I've double-checked (by manually reading the .VCPROJ file) that the .LIBs in question aren't specified. They aren't mentioned anywhere in the file, let alone in its 'libraries' section. And yet, when I look at the 'Command Line' item in the Linker branch of the project's Property Pages, there are the extra libraries.

The libraries are the static .LIB counterparts to .DLLs that the executable loads at runtime.

Also, the libraries are our own, and in fact are part of the Solution file, of which the affected project is the final output (.EXE). Could the fact that these libraries are defined in the solution file be causing VS to add them to the linking stage?

If so, why on some machines, and in some configurations, and not others? (The reason we found out about this is because a function call to an 'unlinked' library was added. It compiled and linked fine on the developer's machine - even though it shouldn't have. After the file was checked in, the main build machine - correctly - barfed, but only in ONE of the two configurations that it created.

Any clues?