Incremental linking doesn't work when you change a library in your
workspace.
Only expect incremental linking when you change *only* a file in your
"startup project." A change in any other project will trigger a full link.
Linking is so much slower in VS7.1/.net/c++/2003 that you really notice
those full links!
Chris
> Hi,
>
[quoted text clipped - 8 lines]
>
> I looked in the Usenet groups and found a couple of relevant e-mail threads:
http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&c2coff=1&th=3ac582c06f9bae6b&
seekm=uh2iWC94DHA.1504%40TK2MSFTNGP12.phx.gbl#link1
http://groups.google.com/groups?q=incremental+linking+.net&hl=en&lr=&ie=UTF-8&c2
coff=1&selm=%23hvmhCJLEHA.2588%40TK2MSFTNGP10.phx.gbl&rnum=1
> So, as suggested, I tried to add /test to the link line to get the reason for
> link's behavior. And this is the reason I've got:
[quoted text clipped - 11 lines]
> Thank you,
> Alex
Alex Shturm - 19 May 2004 05:19 GMT
Actually we don't use the concept of "project" (in VS terms). We have a
lot of source files that are compiled and linked using command-line runs
of the compiler and linker, using make and makefile.
Non-incremental link takes about 10 min on a 2.5 GHz 1Gb RAM machine,
which makes development pretty painful.
In my experiment I've tried to change just one source file and run the
same make/makefile, so only one object file was recompiled (no libraries
were changed). Still the linker did not do incremental linking... :(
Alex
>Incremental linking doesn't work when you change a library in your
>workspace.
[quoted text clipped - 6 lines]
>
>Chris
Matt Dillard - 04 Feb 2005 15:48 GMT
A follow-up to this older post, for future reference:
I experienced the same problem with a project I'm working on -
incremental linking would never kick in despite having the project
setting turned on, even when I made a trivial change to a non-library
cpp file. This is using VC++ 7.1.
In the project I was working on, I had the linker set up to ignore the
default library nafxcwd.lib, and then I explicitly added it to the
libraries to link against list. This was to prevent some "new" and
"delete" symbol conflicts in MFC's library and the C runtime library
(see Microsoft's Knowledge Base article Q148652 for more info).
I discovered that this caused the linker to think that project settings
had changed every single time it went to link. By changing the linker
settings to not ignore the default library nafxcwd.lib, the project
still linked successfully, and this time incrementally, as well. Note
that this means I was not exactly following Microsoft's recommended
practice in their KB article, but it still links and runs okay -
perhaps that KB article is geared toward an older version of their
linker.
Matt
> Actually we don't use the concept of "project" (in VS terms). We have a
> lot of source files that are compiled and linked using command-line runs
> of the compiler and linker, using make and makefile.
>
> Non-incremental link takes about 10 min on a 2.5 GHz 1Gb RAM machine,
> which makes development pretty painful.
>
[quoted text clipped - 17 lines]
> >
> >