Celebrate National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Visual Studio not building project

Posted on 2002-03-07
11
Medium Priority
?
361 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 

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

Learn how to optimize MySQL for your business need

With the increasing importance of apps & networks in both business & personal interconnections, perfor. has become one of the key metrics of successful communication. This ebook is a hands-on business-case-driven guide to understanding MySQL query parameter tuning & database perf

Question has a verified solution.

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

Here is how to use MFC's automatic Radio Button handling in your dialog boxes and forms.  Beginner programmers usually start with a OnClick handler for each radio button and that's just not the right way to go.  MFC has a very cool system for handli…
Introduction: Dialogs (2) modeless dialog and a worker thread.  Handling data shared between threads.  Recursive functions. Continuing from the tenth article about sudoku.   Last article we worked with a modal dialog to help maintain informat…
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.
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…

730 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