当原点是“BUILD SYSTEM”时,是否有人知道Eclipse CDT如何填充路径变量?我想通过全球环境,但我的系统路径设置为visual studio 2010,并以某种方式找到visual studio 2012,并且不会在2010年编译。
进程资源管理器显示的路径(c:\ apps \ MVS10)
cdt检测到的路径(c:\ apps \ MVS11):
我正在使用eclipse Luna 20140612-0600 + CDT 8.4.0.201406111759
答案 0 :(得分:0)
在进行了更多Google搜索后,我发现了此错误报告https://bugs.eclipse.org/bugs/show_bug.cgi?id=357980。
因此,CDT被硬编码以通过注册表检测Visual Studio,并且它使用它找到的最新版本,并且在我不知道的情况下(根据我的知识)将其更改为不同的版本,而无需硬编码项目的路径;我不能做,因为我不是唯一一个从事这个项目的人。
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: