cdt构建环境如何填充路径?

时间:2014-09-25 20:38:13

标签: eclipse eclipse-cdt

当原点是“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

1 个答案:

答案 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:

  • INCLUDE = $ {INCLUDE}
  • LIB = $ {LIB}
  • PATH = $ {PATH}