Windows Vista Beta | WinVistaBeta.com - Message | Managing includes and libraries for multiple solutions (VS2005)

November 19, 2008  
Subject: Managing includes and libraries for multiple solutions (VS2005)
Group: microsoft.public.vstudio.general
Date: 7/16/2008 11:22:10 AM
From: Russ [Email Address Protection]

Hi all. I'm trying to deal with a frustrating problem. First let me
outline how I have been doing things and what I have tried:

I have several solutions comprised of up to 80 projects in each. When
building the C++ libraries (DLL's) they are always created in a common
folder, so in VS 2005, "Tools/options/projects and solutions/VC++
Directories" I have always had the complete path to that folder on my
dev computer. However the required include files for these libraries
are in various folders associated with each library and I do not wish
to combine all those headers into a single folder, so again, the
location of each include folder was fully specified in "projects and
solutions/VC++ Directories".

However recently it became necessary to create a branch version of the
main solution (the one with 80 projects). That went ok except that
the "projects and solutions/VC++ Directories" settings for VS now
pointed to the original set of files and not the branched ones!

After some research I came up with the following cure:

for an include folder, instead of
C:\PssDev\PssSrc\Paylibs\DLib
or
C:\PssDev\PssSrc_new\Paylibs\DLib
I now have
$(SolutionDir)\Paylibs\DLib

That works great for the original and branched solutions' projects as
they now each see thier own include files.

However now I have problems with the other solutions that need access
to those same header and .lib files, since those folders are not
related to the SolutionDir of those projects.

I just do not understand why microsoft has not made those VC++
directory settings as per soultion, rather than global to VS2005. !!!

Anyway I now need to find a fix. I can't go back to using fixed paths
because it will break the branched projects. To make matters worse
(more complicated) I also need to branch some of the other projects,
and I need to keep it straight so that all the branched projects refer
to the headers and .lib's of the branched main projects.

Surely someone else must have had to deal with this problem, yet over
the years I have seen no one questioning this. Am I missing some
obvious answer? Does the Team system solve this problem? We only
have two programmers and team system is very expensive for a small
company...

Thanks for any help,
Russ

Back
Subject: Re: Managing includes and libraries for multiple solutions (VS2005)
Group: microsoft.public.vstudio.general
Date: 7/17/2008 7:17:59 AM
From: David Connet [Email Address Protection]

Russ <russk2t@comcast.net> wrote in
news:rnds74h45spgfumbfrruq25om2l6si1ktd@4ax.com:
> I just do not understand why microsoft has not made those VC++
> directory settings as per soultion, rather than global to VS2005. !!!

They did - but it's not on the solution, it's on the project.

The best way to do this is to create a property sheet and put any settings
related to the component in that. Then each project includes that property
sheet. This allows you to make a component related change and have it
reflected in all projects. Oh, and base any paths on SolutionDir since the
projects will (probably) all have different paths.

Dave Connet

Back
Subject: Re: Managing includes and libraries for multiple solutions (VS2005)
Group: microsoft.public.vstudio.general
Date: 7/25/2008 7:26:40 PM
From: David Connet [Email Address Protection]

Russ <russk2t@comcast.net> wrote in
news:g2qk84ho75ji909h5flo8dabn01jiqsqtf@4ax.com:

> On Thu, 17 Jul 2008 14:17:59 GMT, David Connet
> <stuff@agilityrecordbook.com> wrote:
>
>>Russ <russk2t@comcast.net> wrote in
>>news:rnds74h45spgfumbfrruq25om2l6si1ktd@4ax.com:
>>> I just do not understand why microsoft has not made those VC++
>>> directory settings as per soultion, rather than global to VS2005.
>>> !!!
>>
>>They did - but it's not on the solution, it's on the project.
>>
>>The best way to do this is to create a property sheet and put any
>>settings related to the component in that. Then each project includes
>>that property sheet. This allows you to make a component related
>>change and have it reflected in all projects. Oh, and base any paths
>>on SolutionDir since the projects will (probably) all have different
>>paths.
>>
>>Dave Connet
>
> David, thanks for the reply. I've been busy and just got back to
> this. I really do not understand your information. I searched for
> property sheet and only can find information related to the property
> page type of dialog boxes. That cannot be what you are talking about.
> If possible could you explain what it is you are talking about and how
> to do it, or give me a web page that has an example of how to do it?

How's this: http://msdn.microsoft.com/en-us/library/a4xbdz1e(VS.80).aspx

Dave Connet

Back
Subject: Re: Managing includes and libraries for multiple solutions (VS2005)
Group: microsoft.public.vstudio.general
Date: 7/31/2008 6:06:43 PM
From: Russ [Email Address Protection]

Thanks David. That looks great. I am going on vacation in the
morning, but when I get back will be studying this further.

Thanks again,
Russ

On Sat, 26 Jul 2008 02:26:40 GMT, David Connet
<stuff@agilityrecordbook.com> wrote:

>Russ <russk2t@comcast.net> wrote in
>news:g2qk84ho75ji909h5flo8dabn01jiqsqtf@4ax.com:
>
>> On Thu, 17 Jul 2008 14:17:59 GMT, David Connet
>> <stuff@agilityrecordbook.com> wrote:
>>
>>>Russ <russk2t@comcast.net> wrote in
>>>news:rnds74h45spgfumbfrruq25om2l6si1ktd@4ax.com:
>>>> I just do not understand why microsoft has not made those VC++
>>>> directory settings as per soultion, rather than global to VS2005.
>>>> !!!
>>>
>>>They did - but it's not on the solution, it's on the project.
>>>
>>>The best way to do this is to create a property sheet and put any
>>>settings related to the component in that. Then each project includes
>>>that property sheet. This allows you to make a component related
>>>change and have it reflected in all projects. Oh, and base any paths
>>>on SolutionDir since the projects will (probably) all have different
>>>paths.
>>>
>>>Dave Connet
>>
>> David, thanks for the reply. I've been busy and just got back to
>> this. I really do not understand your information. I searched for
>> property sheet and only can find information related to the property
>> page type of dialog boxes. That cannot be what you are talking about.
>> If possible could you explain what it is you are talking about and how
>> to do it, or give me a web page that has an example of how to do it?
>
>How's this: http://msdn.microsoft.com/en-us/library/a4xbdz1e(VS.80).aspx
>
>Dave Connet

Back
Subject: Re: Managing includes and libraries for multiple solutions (VS2005)
Group: microsoft.public.vstudio.general
Date: 8/4/2008 2:57:09 PM
From: Rob [Email Address Protection]

>
> >How's this:http://msdn.microsoft.com/en-us/library/a4xbdz1e(VS.80).aspx
>

....and ignore the XML layout. Just go straight to editing property
sheets.

We have a .vsprops for our Company, Debug, Release and another that
both Debug and Release share. So 4 different property sheets in a
solution. All projects in the solution use all 4 property sheets. Each
solution uses the Company properties with the other 3 being unique for
each solution. We have always used paths relative to Solution Dir and
have no problems using branches, though we do branch the whole lot -
about 7 solutions with about 300 projects altogether.

regards

Rob

Back
Subject: Re: Managing includes and libraries for multiple solutions (VS2005)
Group: microsoft.public.vstudio.general
Date: 9/25/2008 2:08:18 PM
From: Russ [Email Address Protection]

David, a belated thank you. I did figure out how to do this and it
works very well. I do think they could have made an easier way to
accomplish this really very simple action that would not require a
modification to every project in the solution, but this is sure better
than not being able to do it at all.

Thanks again,
Russ

On Sat, 26 Jul 2008 02:26:40 GMT, David Connet
<stuff@agilityrecordbook.com> wrote:

>Russ <russk2t@comcast.net> wrote in
>news:g2qk84ho75ji909h5flo8dabn01jiqsqtf@4ax.com:
>
>> On Thu, 17 Jul 2008 14:17:59 GMT, David Connet
>> <stuff@agilityrecordbook.com> wrote:
>>
>>>Russ <russk2t@comcast.net> wrote in
>>>news:rnds74h45spgfumbfrruq25om2l6si1ktd@4ax.com:
>>>> I just do not understand why microsoft has not made those VC++
>>>> directory settings as per soultion, rather than global to VS2005.
>>>> !!!
>>>
>>>They did - but it's not on the solution, it's on the project.
>>>
>>>The best way to do this is to create a property sheet and put any
>>>settings related to the component in that. Then each project includes
>>>that property sheet. This allows you to make a component related
>>>change and have it reflected in all projects. Oh, and base any paths
>>>on SolutionDir since the projects will (probably) all have different
>>>paths.
>>>
>>>Dave Connet
>>
>> David, thanks for the reply. I've been busy and just got back to
>> this. I really do not understand your information. I searched for
>> property sheet and only can find information related to the property
>> page type of dialog boxes. That cannot be what you are talking about.
>> If possible could you explain what it is you are talking about and how
>> to do it, or give me a web page that has an example of how to do it?
>
>How's this: http://msdn.microsoft.com/en-us/library/a4xbdz1e(VS.80).aspx
>
>Dave Connet

Back