T O P I C R E V I E W |
shippy |
Posted - Apr 12 2018 : 7:39:46 PM I recently installed VS 2017 Enterprise and loaded up my old VS 2015 project. I went into the VA settings and set a custom Platform include path for system headers in the C/C++ Directories section. I told it to rebuild the database and closed/re-opened VS. I'm noticing that it doesn't appear to be picking up all headers, from what I can tell. If I glance at the status bar while VA is doing stuff, it looks to me like it's still grabbing from the old custom path I had before I changed it.
Here's the version info: VA_X.dll file version 10.9.2258.5 built 2018.03.06 DevEnv.exe version 15.6.27428.2037 Enterprise msenv.dll version 15.0.27428.2027 Comctl32.dll version 6.10.17643.1043
Platform: Custom Stable Includes: E:\os\public\amd64chk.nocil;
Other Includes:
Stable Source Directories: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.13.26128\atlmfc\src\mfc; C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.13.26128\atlmfc\src\mfcm; C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.13.26128\atlmfc\src\atl; C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.13.26128\crt\src; C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\VS\src; C:\Program Files (x86)\Windows Kits\10\Source\10.0.10240.0\ucrt;
Previously, my custom include was E:\os\public\amd64chk and it still seems to be going there rather than the .nocil directory.
Thanks. |
5 L A T E S T R E P L I E S (Newest First) |
feline |
Posted - Apr 16 2018 : 2:53:37 PM By default VA parses standard windows include directories, to pick up the standard header files that most of our users are going to use, and want VA to be aware of. The custom include directory setting lets you remove all of these from the scan list, and point VA at a different set of standard library headers instead.
We still check the include directories set in the solution its self, since you normally need to scan these to make sense of the solution, and resolve the #include statements that are being used.
I hope this makes sense, and thank you for the update, I am glad this is now fixed and working correctly for you. |
shippy |
Posted - Apr 16 2018 : 2:05:19 PM Yes, the code compiles. :) The compiler is using the headers in the .nocil directory. I do not compile inside Visual Studio, however. I only use it as a code editor. I use a tool that generates the solution and projects for me since the solutions are quite large. It does look like there was a config in there causing it to point to the old location. I changed that, regenerated the solution and rebuilt the VA symbols and things appear to be pointing to the right place now. I was under the impression that the custom stable includes purpose was to completely override anything in the solution settings. Is this not the case? Anyway, I appear to have a workaround now so thank you! |
feline |
Posted - Apr 14 2018 : 06:10:17 AM A silly question, but does this code compile? Assuming it does, when it compiles, is the compiler using these library header files on E drive?
I am assuming both are true, in which case there needs to be a setting inside the solution its self telling the compiler where on E drive to look for these library header files. I suspect what is happening is that VA is aware of the new E drive stable include directories, but VA is also aware of the additional include directories the solution is listing, so is also searching here. So, is the solution listing the old or the new E drive library path? |
shippy |
Posted - Apr 13 2018 : 12:56:31 PM When I put the caret on the #include line, it's going to E:\os\public\amd64chk\...\blah.h which is what I had previously set instead of E:\os\public\amd64chk.nocil\...\blah.h. Alt+G does take me to the file, but in the old location and not the new one. |
feline |
Posted - Apr 13 2018 : 05:52:40 AM Can you please place the caret into a #include line that should point to one of these stable include directories, and see if VA is showing a full path for the file in its Context and Definition fields, which are normally at the top of the editor?
If you press Alt-G, are you taken to the file?
In both cases, what is the path that VA is using? This will tell us which directories VA is looking in, and hopefully shed some light on this. |
|
|