By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
428,978 Members | 1,467 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 428,978 IT Pros & Developers. It's quick & easy.

Incremental linking and multiple projects

P: n/a
I work with a multi-project workspace. One project (the "startup" project)
has a "Configuration Type" of "Application (.exe)". The other 40 projects
have a "Configuration Type" of "Static Library (.lib)".

My question:
Should the linker incrementally link when I make a change to one of the
..cpps in one of my .lib projects?

For VC6 the answer is yes.

For VC71/2003/.net I'm afraid the answer is no.

Incremental linking doesn't work for me when I make changes to my "Static
Library (.lib)" projects. Passing "/test" to link.exe give me the reason:
LINK : LNK6010: library changed; performing full link

The only time I get incremental linking is when I make a change in my
"Application (.exe)" project.

Hoping the answer to "My Question" is yes,

Rudy
Nov 17 '05 #1
Share this Question
Share on Google+
6 Replies


P: n/a
Hi Rudy,

This is by design. We can't incrementally link when a static lib changes.
That was never supported before either.

Ronald Laeremans
Visual C++ team

"Rudy Ray Moore" <ru*******@hotmail.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
I work with a multi-project workspace. One project (the "startup" project)
has a "Configuration Type" of "Application (.exe)". The other 40 projects
have a "Configuration Type" of "Static Library (.lib)".

My question:
Should the linker incrementally link when I make a change to one of the
.cpps in one of my .lib projects?

For VC6 the answer is yes.

For VC71/2003/.net I'm afraid the answer is no.

Incremental linking doesn't work for me when I make changes to my "Static
Library (.lib)" projects. Passing "/test" to link.exe give me the reason:
LINK : LNK6010: library changed; performing full link

The only time I get incremental linking is when I make a change in my
"Application (.exe)" project.

Hoping the answer to "My Question" is yes,

Rudy

Nov 17 '05 #2

P: n/a

Ronald,

Are you saying that I was always performing a "full link" with this same
setup in VS6? In that case, it takes six times as long to perform a full
link in VS7.1/.net/2003 than in VS6!

BTW, here's a product that enables "incremental linking" for
VS7.1/2003/.net. It works, even with changes to static libraries!

===

http://www.workspacewhiz.com/FastSol...ildReadme.html
New in Version 2.20 is support for incremental linking a multi-project
solution. Visual C++ does not seem to support incremental linking when a
file in a library project has changed. In fact, when examining the output
after turning on the verbose linker output, it appears to be nearly
identical to a full link. Fast Solution Build enables incremental linking
support for all projects in the solution. It is amazing how quickly links
perform when they are incremental.

===

Thanks for your help,

Rudy

"Ronald Laeremans [MSFT]" <ro*****@online.microsoft.com> wrote in message
news:%2****************@TK2MSFTNGP11.phx.gbl...
Hi Rudy,

This is by design. We can't incrementally link when a static lib changes.
That was never supported before either.

Ronald Laeremans
Visual C++ team

"Rudy Ray Moore" <ru*******@hotmail.com> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
I work with a multi-project workspace. One project (the "startup" project) has a "Configuration Type" of "Application (.exe)". The other 40 projects have a "Configuration Type" of "Static Library (.lib)".

My question:
Should the linker incrementally link when I make a change to one of the
.cpps in one of my .lib projects?

For VC6 the answer is yes.

For VC71/2003/.net I'm afraid the answer is no.

Incremental linking doesn't work for me when I make changes to my "Static Library (.lib)" projects. Passing "/test" to link.exe give me the reason: LINK : LNK6010: library changed; performing full link

The only time I get incremental linking is when I make a change in my
"Application (.exe)" project.

Hoping the answer to "My Question" is yes,

Rudy


Nov 17 '05 #3

P: n/a
Rudy Ray Moore wrote:
Ronald,

Are you saying that I was always performing a "full link" with this
same setup in VS6? In that case, it takes six times as long to
perform a full link in VS7.1/.net/2003 than in VS6!

BTW, here's a product that enables "incremental linking" for
VS7.1/2003/.net. It works, even with changes to static libraries!


It works by mostly ignoring your libraries and simply feeding all of the
..obj's directly to the linker. That's not doing exactly the same thing -
and is only an option for libraries that are built by projects in the same
solution. Still, it's cool that it works.

-cd
Nov 17 '05 #4

P: n/a
Carl Daniel [VC++ MVP] <cp*****************************@mvps.org.nospam > wrote:
[...] Still, it's cool that it works.
I installed this plugin a while ago and
the main thing thing it does for me is
doing the dependency check within a
fraction of the time VS needs for this.
I wouldn't exactly call that cool. I'd
say it's sad that VS doesn't get this
right for several versions. Dependency
checks have been a nuisance since I use
VS (which I started with VC6).
-cd

Schobi

--
Sp******@gmx.de is never read
I'm Schobi at suespammers dot org

"Sometimes compilers are so much more reasonable than people."
Scott Meyers
Nov 17 '05 #5

P: n/a

I didn't have dependency checking problems with Visual C++ with VC++ 6. I
do have problems with VC++ 2003/.net/7.1.

I wonder if there is something "special" about your VC++6 workspace that
prevented dependency checking from working for you.

Rudy
"Hendrik Schober" <Sp******@gmx.de> wrote in message
news:%2****************@TK2MSFTNGP09.phx.gbl...
Carl Daniel [VC++ MVP] <cp*****************************@mvps.org.nospam >

wrote:
[...] Still, it's cool that it works.


I installed this plugin a while ago and
the main thing thing it does for me is
doing the dependency check within a
fraction of the time VS needs for this.
I wouldn't exactly call that cool. I'd
say it's sad that VS doesn't get this
right for several versions. Dependency
checks have been a nuisance since I use
VS (which I started with VC6).
-cd

Schobi

--
Sp******@gmx.de is never read
I'm Schobi at suespammers dot org

"Sometimes compilers are so much more reasonable than people."
Scott Meyers

Nov 17 '05 #6

P: n/a
Rudy Ray Moore <ru*******@hotmail.com> wrote:
I didn't have dependency checking problems with Visual C++ with VC++ 6. I
do have problems with VC++ 2003/.net/7.1.

I wonder if there is something "special" about your VC++6 workspace that
prevented dependency checking from working for you.
What was "special" about it was, that
it had _a_lot_ of projects in it. And
it wasn't that it didn't work. But I
have seen VS6 beeing off to check
dependencies for 4mins. I have been
told by rather reliable people that
they have seen this 10mins.
If you have such projects, you have two
choices: Do it by hand, or use command
line tools. The IDE is useless.
Rudy
[...]


Schobi

--
Sp******@gmx.de is never read
I'm Schobi at suespammers dot org

"Sometimes compilers are so much more reasonable than people."
Scott Meyers
Nov 17 '05 #7

This discussion thread is closed

Replies have been disabled for this discussion.