Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Technical Support
 1418 doesn't find some headers
 New Topic  Topic Locked
 Printer Friendly
Author Previous Topic Topic Next Topic  

steinsomers
Ketchup Master

Belgium
65 Posts

Posted - Oct 04 2005 :  05:51:05 AM  Show Profile
Visual C++ 6. In contrast to all previous versions I've seen, 1418 fails to locate (Alt-G on include directives) most headers. I think it parses only headers explicitly added to headers (but it won't Alt-G on #includes of those), it doesn't parse those included within. It seems it only locates headers with a direct relative path from the file with the #include, and those in the configured system directories.

Obviously I rebuilt the database a few times, reinstalled 1301 (everything found again) and reinstalled 1418 (nothing found).

All includes are either plain and simple or of the form
#include "subdirectory/file.h"
. The include paths to them (all of them relative paths) are in each project's settings - same for Win32 Debug and Release configuration.
That's not an exotic configuration but I failed to find similar complaints except maybe http://forum.wholetomato.com/forum/topic.asp?TOPIC_ID=3779. It's not clear to me how bad case 689 is and when it will be/has been fixed.



VA_X.dll file version 10.1.1418.0 built 2005.06.24
VAOpsWin.dll version 1.2.0.4
MSDev.exe version 6.0.8168.1
Devshl.dll version 6.0.8798.0
Devedit.pkg version 6.0.8447.0
Font: Lucida Console 11(Pixels)
Comctl32.dll version 5.81.4916.400
WindowsNT 5.0 Build 2195 Service Pack 4
Single processor

Platform: Win32 (x86)
Stable Includes:
C:\\Programs\\Microsoft Visual Studio\\VC98\\INCLUDE;
C:\\Programs\\Microsoft Visual Studio\\VC98\\MFC\\INCLUDE;
C:\\Programs\\Microsoft Visual Studio\\VC98\\ATL\\INCLUDE;

Library Includes:
C:\\Programs\\Microsoft Visual Studio\\VC98\\MFC\\SRC;
C:\\Programs\\Microsoft Visual Studio\\VC98\\MFC\\INCLUDE;
C:\\Programs\\Microsoft Visual Studio\\VC98\\ATL\\INCLUDE;
C:\\Programs\\Microsoft Visual Studio\\VC98\\CRT\\SRC;

Other Includes:

sean
Whole Tomato Software

USA
2817 Posts

Posted - Oct 04 2005 :  1:26:45 PM  Show Profile
689 was fixed after 1418. The latest beta is 1424 available at:
http://forum.wholetomato.com/forum/topic.asp?TOPIC_ID=3992

We expect another build this week.
Go to Top of Page

steinsomers
Ketchup Master

Belgium
65 Posts

Posted - Oct 05 2005 :  07:14:53 AM  Show Profile
Indeed that fixes it.
Note by the way that VAX doesn't respect the hierarchy among directories. Include directories in the project settings don't take precendence over the system wide options, as they do to the compiler. But if that was a big problem I would have complained earlier.
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - Oct 05 2005 :  1:37:48 PM  Show Profile
Can you give an example of the precedence issue? Are you talking about processing of headers or about suggestions when writing #include directives?
Go to Top of Page

steinsomers
Ketchup Master

Belgium
65 Posts

Posted - Oct 06 2005 :  06:58:36 AM  Show Profile
Processing I guess - I haven't tried suggestions. Alt-G on #include <string> or on std::string takes me to the VC98/include/XSTRING instead of the actual definition used by the compiler. I use an alternative C++ library (STLport) over the default shipped with VC6; it has for instance its own <string>.

To that effect, an additional include directory is specified in each configuration of each project in a workspace (apart from utility projects obviously). This directory is not specified system wide because that would wreck old projects relying on the intricacies of the default library. I tried setting it anyway in Tools > Options > Directories - Include files. Rebuilt the symbol database, cleaned and restarted with removed build directory and .ncb. Now Alt-G on #include <string> does lead to the right header, but on std::string it stubbornly reverts to the VC6 header. This is bizarre because this header is not included by anything. To prove that, I removed the VC6 header. Now VAX finally locates the definition of std::string in the alternative C++ library header. As you can see in the updated Stable Includes, it knows where it should look first.

VA_X.dll file version 10.1.1424.0 built 2005.09.26
Stable Includes:
Y:\\STLport\\stlport;
C:\\Programs\\Microsoft Visual Studio\\VC98\\INCLUDE;

Library Includes:

Other Includes:
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - Oct 12 2005 :  12:16:11 AM  Show Profile
Thanks for the clear example. You are correct.

Some of the issues you are seeing are due to design decisions in VA to help with performance (speed vs accuracy) resulting in the stubborn behavior of going to the vc6 implementation.

The other issues are due to differences in how Alt+G is implemented for #include statements vs source symbols. We should fix Alt+G behavior in regard to additional include directory precedence (case=827) - but may result in leaving you with the incorrect impression that VA is finding one set of string definitions in the wrong file (we fix Alt+G for the include statement taking you to the STLport file, but Alt+G on std::string will still take you to the vc6 implementation).
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Topic Locked
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000