Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / Languages / Managed C++ / February 2005

Tip: Looking for answers? Try searching our database.

Cannot activate incremental link - please help

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Alex Shturm - 18 May 2004 06:01 GMT
Hi,

I am trying to activate incremental link using VC7 (.NET 2003) on a pretty big
project (executable size is more than 100Mb, and it gets linked from several
dozen of libraries and object files of different sizes - from less than 1Mb to
tens of MBs).

The problem is that option /incremental:yes does not have any effect on the
link time. I observe that the linker removes existing executable and re-links
it from scratch.

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:
LINK : LNK6003: LINK options changed; performing full link

The funny thing is that link options DID NOT change. I just added an empty
line to one of source files and run make with the same makefile (we don't use
IDE).

Maybe the reason for link's confusion is a very long link line (14K chars) ?

Anybody @ Microsoft, could you please let me know what I can do to enable
incremental link?

Thank you,
Alex
Rudy Ray Moore - 18 May 2004 19:24 GMT
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]
> >
> >  

Rate this thread:







Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.