PDA

View Full Version : VC6 Workspace dependencies not working


isostar
03-18-2003, 03:06 AM
One of my VC6 workspaces doesn't build because the projects are not built in the correct dependent order. They all build in alphabetical order.

If I open the same workspace in VC6 it builds correct!

Does Visual Build need any of the .NCB or .OPT files?

kinook
03-18-2003, 08:12 AM
It sounds like you may not have the necessary dependencies between the projects defined in the workspace. Without these set, the Make VC6 action may not build in the same order as VC itself (and it's probably luck that it is building in the correct order in VC). The dependencies are configured at Project | Dependencies on the menu in the VC IDE.

isostar
03-18-2003, 08:29 AM
No, I have set the dependencies in VC6.

(And as I said it builds fine in VC6, it also builds in alphabetical order without dependencies.)

It looks like this in the dsw file for one of the projects:
################################################## #############################

Project: "LaneState"=..\DCOM\LaneState\LaneState.dsp - Package Owner=<4>

Package=<5>
{{{
begin source code control
"$/Version_3.0/FRONTDESK/DCOM/LANESTATE",
..\dcom\lanestate
end source code control
}}}

Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name API
End Project Dependency
Begin Project Dependency
Project_Dep_Name PrintGame
End Project Dependency
Begin Project Dependency
Project_Dep_Name CL_EVENT
End Project Dependency
Begin Project Dependency
Project_Dep_Name CL_SCORER
End Project Dependency
}}}

################################################## #############################

kinook
03-18-2003, 08:39 AM
'the DSWs for one of the projects'? Typically, the dependencies are set in the multi-project workspace that contains all of the projects and their dependencies, and that multi-project workspace is the one specified for the Make VC6 action. Does this workspace contain only one project but define dependencies on other projects? I didn't think that was even possible to configure within the IDE.

isostar
03-18-2003, 08:47 AM
Of corse it is a multi project DSW!
I am not a complete idiot and I have been using VC since 1.0!!!
I am not posting here for fun! I am having a real problem!!!

The post included a part of the dsw file, and I included it to help YOU. Now let's get back to the problem:

The project causing the problem is "PrintGame" that is built after "Lanestate" because L comes before P.
But as you can see in the dependency information in the dsw file, Lanestate is dependent on Printgame and therefore Printgame should be build first.

kinook
03-18-2003, 09:12 AM
Please remain calm. I'm doing the best I can with the information you gave me. The dependency capabilities are used by many customers, so I was trying to verify there was no other cause for buggy behavior in your case. Building the workspace here, it is building in the correct order, the problem is that some of the projects are not getting built at all. We are looking into the problem.

isostar
03-18-2003, 09:15 AM
Sorry, I almost lost it there...

Well, we've used the dependency function for other projects. And it's been working fine.

But it stopped working for one workspace. So right now I have to build that workspace in VC6 and then continue the build script in Visual Builder manually.

kinook
03-18-2003, 12:16 PM
Ok. This is happening because some of the project names do not match their filename, which is not currently supported correctly in the Make VC6 action. For instance, several projects have a dependency on API, but there is no API.dsp in the workspace (it probably has a different filename). Apparently this doesn't happen very often since it wasn't discovered until now!

We will correct this in the next release, which is currently in beta, and send you a link to the beta when this bug has been fixed.

kinook
03-18-2003, 01:55 PM
It turns out this is not a bug after all. The Make VC6 action does actually support projects whose names don't match their filename. Somehow, the workspace you have references dependencies to a project that isn't in the workspace. There is no project named 'API' in the workspace (the name is found right after Project: in the DSW file). If you change the

Project_Dep_Name API

lines to the correct project name (one that exists in the workspace), it should work better.

I'm not sure why it builds in the VC IDE; apparently it doesn't use the name in the DSW file. Regardless, the DSW file has incorrect information in it (I suspect the DSP file was manually renamed outside of the IDE).

isostar
03-19-2003, 11:07 AM
Great!

It builds my workspace in the correct order.
Thanks!

However, I would say that this is a bug.
I think Visual Builder could write an warning message for this kind of error. Not stop using all depends info, without saying anything.
As you said it is different behavoid from VC6.