更多的谷歌搜索后,我发现这个bug报告https://bugs.eclipse.org/bugs/show_bug.cgi?id=357980。
因此,CDT被硬编码为通过注册表检测Visual Studio,并使用它发现的最新版本,并且在Eclipse中没有办法(在我的知识中)将其更改为不同版本,而无需硬编码项目路径;我不能这样做,因为我不是唯一一个在这个项目上工作的人。
WinEnvironmentVariableSupplier.java
private static String getVCDir() {
WindowsRegistry reg = WindowsRegistry.getRegistry();
String vcDir = getSoftwareKey(reg, "Microsoft\\VisualStudio\\SxS\\VC7", "11.0");
if (vcDir != null)
return vcDir;
vcDir = getSoftwareKey(reg, "Microsoft\\VisualStudio\\SxS\\VC7", "10.0");
if (vcDir != null)
return vcDir;
return getSoftwareKey(reg, "Microsoft\\VisualStudio\\SxS\\VC7", "9.0");
}
我对这个问题的解决方法是重新定义了错误的变量Eclipse的变量;只要确保推出的Eclipse之前调用vcvarsall.bat:
- INCLUDE = $ {} INCLUDE
- LIB = $ {} LIB
- PATH = $ {PATH}