Solved

Visual Studio not building project

Posted on 2002-03-07
11
355 Views
Last Modified: 2013-11-20

OS  : Windows NT 4
Env : Visual Studio 6.0 Enterprise edition.

We are working on a project that has 40 c++ application projects and 40 c++ dll projects and a dozen of c++ static lib projects.

To build all of them, there is a masterproj project with a dummy c++ file with only main().

All the c++ exe and dll projects are made dependencies for the masterproj.

Individual components are developed and built on developers machines and maintained by configuration mgmt tool CCC Harvest.

Configuration team check out the projects in their build machine. Build the components and distribute to QA test servers.

I recently changed code for two components and checked with the configuration mgmt system.

For the two components I changed recently, latest version of the source files, individual project files (dsp, dsw) are checked out into the build machine. Also the latest version of the masterproj's dsw file is checked out.

When the masterproj.exe is built, Visual studio builds all the components but for the two components I modified.

I opened the masterproj.exe's dsw file in notepad and manually verfieid for the dependency of my two components and it is present.

Still my components are not built.

Did anyone ever faced a problem similar to this ?

BTW, I checked out the masterproj in my development machine and built the components. All the components including my two components are built perfectly.

Thanks for the help.






0
Comment
Question by:sindbad
  • 4
  • 2
  • 2
  • +3
11 Comments
 
LVL 3

Expert Comment

by:Crius
ID: 6848979
Sounds like it might be a precompiled header thing.

Try nuking the .obj directory and having it rebuild all from scratch.
0
 
LVL 8

Expert Comment

by:VinExpert
ID: 6849525
Hi,

Close ur projects in VC++ and open windows explorer and go to those component's folder. Delete off respective .ncb, .opt files and Debug directory. Then again open those components workspace and say "Rebuild All". That should solve ur prob.

Try it out
VinExpert
0
 
LVL 49

Expert Comment

by:DanRollins
ID: 6849813
Check the dates on the relevant files.  If the .OBJ is newer than the .CPP, then VC++ won't build it.  That can happen if you were testing some date-sensitive feature (eg, 30-day trial version logic)  Your computer is in the future (briefly) and you tweek a file or it gets saved automatically with next month's date.  It happens more often that one might think.

-- Dan
0
Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

 

Author Comment

by:sindbad
ID: 6851364

Hi all,

"Rebuild All" of masterproj is simple solution and I don't mind doing it in my developer machine.

In the client project I'm working, there is a seperate configuration team that builds the components in their server daily and distribute binaries to Quality Assurance team for testing.

Convincing them to do a "Rebuild All" of masterproj is the "tough" job.

One idea came to my mind is delete the release folder for my two components only. And now let my config team do a  build of masterproj and now Visual studio SHOULD recognize these two components and build them.

What experts feel about this solution ?.

BTW, the configuration server donot run any trial software.

Thanks

0
 
LVL 3

Expert Comment

by:Crius
ID: 6851397
The config team should be rebuilding ALL the projects nightly and distributing them to the QA team. They should delete all the .obj files automatically before the rebuild each night, and creating completely new ones. If they are already doing this, deleting the Release directory won't help, but you shouldn't have this problem at all anyways.

If they are not doing this, you will run into many more problems. Visual Studio has still not perfected recognizing when files need to be rebuilt.
0
 
LVL 49

Expert Comment

by:DanRollins
ID: 6851453
>>delete the release folder for my two components only

If the OBJ files are going into the Release directory, then that will ensure a recompile.  Otherwise, a build will just re-link the existing OBJs (for instance, if you are placing them in a different folder).

>>BTW, the configuration server donot run any trial software.
Wow, you really missed the point.  You might consider re-reading my post.

-- Dan
0
 

Expert Comment

by:alarson
ID: 6886487
Check the dates on your source code, you may have set them to a future date?
0
 
LVL 49

Expert Comment

by:DanRollins
ID: 6886873
what he said

-- Dan
0
 

Author Comment

by:sindbad
ID: 7111422

Hi,

I discovered the root cause for the problem.
Among the two components I worked, let us say A and B, Component A depends on component B.
So, in the dependency of A, component B is added.
However, the person who made change to component B prior to me (on the same day) incorrectly added Component A to its dependency.

This caused a CIRCULAR DEPENDENCY between both the components and Visual Studio failed to build both the components A and B from MasterProj.exe

By removing the dependency of A in project B, we broke the circular dependency and both the components were built from MasterProj.exe, as expected.

A good leason in developing software in a colloborative environment.

I thank all experts for extending their valuable advice.
0
 
LVL 49

Expert Comment

by:DanRollins
ID: 7112153
Good work sinbad.

Since you solved this problem yourself, I suggest that you post a question to Community support and request a refund.  This Q should not be deleted.  It is good information and should be saved in the PAQ.

-- Dan
0
 

Accepted Solution

by:
ComTech earned 0 total points
ID: 7114302
Placing this question in PAQ as the woner of the question has answered it himself.

Nice work. : >

Regards,
ComTech
CS Admin @ EE
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
sumNumber challenge 16 122
difference between String.subString() and String.subSequence() 6 196
Sed question 2 85
JQuery serialize and unserialize 8 83
This is to be the first in a series of articles demonstrating the development of a complete windows based application using the MFC classes.  I’ll try to keep each article focused on one (or a couple) of the tasks that one may meet.   Introductio…
Introduction: Load and Save to file, Document-View interaction inside the SDI. Continuing from the second article about sudoku.   Open the project in visual studio. From the class view select CSudokuDoc and double click to open the header …
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

773 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question