Hi Emiliano,
I did not have time yet to look deeply in your
plug-ins, but here are some issues that appeared to me at first glance:
I have VS 6.0, VS .NET 2003 and Platform SDK installed
on my machine.
1. The vc++ projects did not appear for me as “supported”
in the project-type selection wizard page.
2. When I tried to create the vc project, eclipse
halted and stopped responding. I stepped through the code and noticed that the
infinite loop occurred in the PlatformSDKPathResolver.getDir(). After I had changed
“ while
(pattern.length() > 0) {” to “ if (pattern.length() > 0) {”,
the infinite loop disappeared. Note that I made that change only for the reason
of preventing the infinite loop, and I suppose that the change might result in
the incorrect SDK path resolver functioning, so some of the points mentioned
below could be caused by the change I made.
3. After the project was created I was not able to browse
the created project in the “C/C++ Projects” view, neither was I
able to create a new class because of the null pointer exception that occurred in
the ManagedBuildCPathEntryContainer.getPathEntries() because the VCToolkitScannerInfoCollector.getIncludePaths()
returned a list of includes containing nulls. After adding some extra-null
pointer checkings to the VCToolkitScannerInfoCollector constructor the problem disappeared.
After that I was able to successfully build the
project. I did not have time to check and test all the tools settings provided
with your build definitions, but from what I saw, the vc++ projects work great!
The tool definitions provide a lot of very useful options and allow a very convenient
interface for working with vc++ tools!
Here are some additional points I noticed:
4. While stepping through the code I’ve also
noticed that since the VCToolkitPathResolver.getBinPath() returns null, it
causes the “null” string to be generated while string concatenation
in the VCToolkitConfigurationEnvSupplier. Also the PlatformSDKPathResolver.getBinPath()
returns the array of size 78 for me, containing one and the same path, except
for some array members that contain null that cause the “null”
string to be generated while string concatenation in the VCToolkitConfigurationEnvSupplier
and also causes the PATH environment variable to contain one and the same path
multiple times.
The same is about the VCToolkitPathResolver.getLibPath();
- PlatformSDKPathResolver.getLibPath(); and VCToolkitPathResolver.getIncludePath()
- PlatformSDKPathResolver.getIncludePath(); pares.
Also as a result of the the PlatformSDKPathResolver.getIncludePath(),
the VCToolkitScannerInfoCollector.getIncludePaths() also returned the list of
identical paths, (provided by the PlatformSDKPathResolver.getIncludePath()).
I suppose all these issues are caused by the incorrect
handling of my registry settings. I’m not an expert in how the vc++
settings are stored and how they should be handled, so if you need some of my
settings in order to find the problem, I could post them to you.
5. The options that represent the additional include
directories for the compiler should be of type “includePath”, but
not “stringList”. Setting this option to the “includePath”
will allow MBS to provide the include paths info to the rest of the CDT.
Thanks,
Mikhail
From:
cdt-dev-bounces@xxxxxxxxxxx [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Emiliano Lesende
Sent: Tuesday, June 21, 2005 1:11
AM
To: cdt-dev@xxxxxxxxxxx
Subject: [cdt-dev] Microsoft
VisualC++ Toolchain integration
To celebrate the M7 I'm finally releasing this plugin.
Any comments about source or design are most welcome!
Currently on the roadmap:
- Win32 native debugging.
- MASM support
- VisualStudio .NET 2003 and .NET 2005
Have fun!
Emiliano Lesende