freepooma-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [pooma-dev] POOMA CVS log messages


From: Julian C. Cummings
Subject: RE: [pooma-dev] POOMA CVS log messages
Date: Fri, 6 Apr 2001 17:57:59 -0700

Hi Jim,
 
Yeah, you're right.  The files in the "Header files" folder are
completely ignored, as far as I can tell.  The only ones that
matter are "Source files" and "External Dependencies".  I
noticed that the Pooma project has one file in "External
Dependencies": src/IO/CTTI.h.  So I guess something did
some dependency analysis at some point and put this file
here.  But clearly the dependency analysis fails early on.
 
It shouldn't really have anything at all to do with templates,
right?  All you do is preprocess and see what files get included.
How hard can it be? <sigh>
 
-- Julian
 
 
-----Original Message-----
From: James Crotinger [mailto:address@hidden
Sent: Friday, April 06, 2001 4:04 PM
To: 'address@hidden'
Cc: 'address@hidden'
Subject: RE: [pooma-dev] POOMA CVS log messages

You can

add source files to a project manually using the menu item

Project/Add to Project/Files, but this is tedious.  Welcome to

the fun world of VC++! 

I tried adding the header file in question to the Headers list, modifying it, and rebuilding, and it still didn’t rebuild. I just checked – I added DynamicArrays.h to the Headers folder of my DynamicArray/DynamicArrayTest5 project. Built the test, made a modification to DynamicArrays.h, and hit rebuild. Nothing happened.

I think this is actually a problem with templates. I’ve become a heavy user of VC++ over the past 8 months (with Microsoft’s compiler) and I’ve occasionally seen a dependency screw-up, but mostly it works correctly. It appears to do a proper dependency analysis. For instance, have a Proximation test code (which uses not complicated templates, though there are some traits classes and template functions here and there) with the following projects:

            CSum

            CSumProxy

            CsumStub

            ProxLib

            TestCreateInstance

These are all in the same workspace and TestCreateInstance depends on the first four projects. Furthermore, the first three projects have files that depend on a header file ISum.h, as does the main program in TestCreateInstance. ProxLib does not depend on this file. If I modify ISum.h and hit the rebuild button, it rebuilds CSum.dll, CSumProxy.dll, CSumStub.dll, and finally the TestCreateInstance object and executable (but not anything in ProxLib). This happens in spite of the fact that ISum.h is not in any of the “Headers” folders in these various projects. There is a folder that is automatically created by Visual Studio called “External Dependencies” and ISum.h shows up there.

VC++ does this correctly with and without the VTune C++ compiler selected. Unfortunately, I can’t test Pooma with VC++ sans VTune, so I don’t know if the dependency analysis breaks because of something Pooma is doing (like file-naming conventions?), something VTune is doing, or if it is just a bug in VC++ when using templates. Hmmm. Indeed, there is NO External Dependencies folder in the DynamicArrayTest5 project, which indicates that, for whatever reason, it is completely blowing its dependency analysis. I’m guessing that the templates are confusing it. All I know is that it is a major pain in the butt.

            Jim

 

 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]