【问题标题】:How does cdt build environment populate the path?cdt 构建环境如何填充路径?
【发布时间】:2014-11-20 18:19:26
【问题描述】:

有谁知道当源是“BUILD SYSTEM”时 Eclipse CDT 如何填充路径变量?我想通了全局环境,但我的系统路径设置为 Visual Studio 2010 并且不知何故 cdt 找到了 Visual Studio 2012 并且不会为 2010 编译。

进程浏览器显示的路径 (c:\apps\MVS10)

cdt 检测到的路径 (c:\apps\MVS11):

我正在使用 eclipse Luna 20140612-0600 + CDT 8.4.0.201406111759

【问题讨论】:

    标签: eclipse eclipse-cdt


    【解决方案1】:

    经过更多谷歌搜索,我发现了这个错误报告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:

    • 包含 = ${包含}
    • LIB = ${LIB}
    • PATH = ${PATH}

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-22
      • 1970-01-01
      • 1970-01-01
      • 2019-07-06
      • 1970-01-01
      • 2017-05-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多