【问题标题】:use environment variables in eclipse在eclipse中使用环境变量
【发布时间】:2016-01-27 23:23:43
【问题描述】:

我有一个使用 Cross GCC 工具链的 eclipse CDT 项目。交叉编译器的路径必须在工具链设置中设置:C/C++ Build -> Settings -> Cross Settings -> Path。

由于与其他人共享这个项目,交叉编译器的路径应该在我称为 LINUX_DEVKIT_PATH 的环境变量中。

我将 LINUX_DEVKIT_PATH 定义为环境变量,并在 C/C++ Build -> Settings -> Cross Settings -> Path 字段中使用了“${LINUX_DEVKIT_PATH}/bin”。但是使用此设置无法找到编译器。 我还尝试使用 C/C++ Build -> Environment -> Select... 将变量添加到列表中。环境变量被找到并出现在列表中,原始用户:配置。

【问题讨论】:

  • 我认为您必须将其作为环境变量添加到机器本身...这意味着它是在机器上定义的而不是 eclipse(eclipse 只会访问定义)
  • 您是否尝试将它们与 $(ENV_VAR_NAME) 一起使用? makefile 可以处理这个问题。一旦我避免了eclipse用/$(ENV_VAR_NAME)添加了工作区路径,所以eclipse认为它是一个绝对路径。
  • Eclipse 上似乎存在错误。要强制变量进入交叉设置路径,您需要在变量前面添加“/”。例如:/${LINUX_DEVKIT_PATH}/bin。检查项目 -> 属性 -> c/c++ 构建 -> 环境 -> PATH - 交叉设置的路径会影响这个 PATH。

标签: c++ eclipse


【解决方案1】:

在您的 Eclipse 中,您可以设置应用程序运行时要使用的环境变量和值。

设置环境变量:

  1. 在 C/C++ 项目视图中,选择一个项目。
  2. 单击“运行”>“运行”或“运行”>“调试”。
  3. 在“配置”框中,展开 C/C++ 本地。
  4. 选择运行或调试配置。
  5. 单击环境选项卡..
  6. 执行以下操作之一:
    • 要创建新的环境变量,请单击“新建”。
    • 要导入环境变量,请单击“导入”。
    • 要编辑现有环境变量,请从列表中选择一项并单击“编辑”。
    • 要删除现有环境变量,请从列表中选择一项并单击删除。
  7. 在名称框中输入名称。
  8. 在“值”框中键入一个值。
  9. 根据需要单击运行或执行以下操作:

要指定应用程序使用的执行参数并指定运行配置的工作目录,请参阅指定执行参数。 要在调试应用程序时选择要使用的调试器,请参阅选择调试器 要指定调试 C 或 C++ 应用程序时使用的源文件的位置,请参阅指定源文件的位置 要指定运行配置的存储位置、访问方式以及运行应用程序时要打开的透视图,请参阅指定运行配置的位置。

祝我的朋友好运。如果这篇文章回答了您的问题,请不要忘记接受它作为答案。

【讨论】:

  • 不幸的是,这并不是我想要的。我将在我的描述中添加更多细节。
【解决方案2】:

什么对我有用:

  • 我使用“路径”交叉设置的内容创建了环境变量MY_CROSS_BIN
  • “选择”到项目中(项目 -> 属性 -> C/C++ 构建 -> 环境)
  • 我在同一属性窗口中编辑了 PATH 变量以指向:${MY_CROSS_BIN}${PathDelimiter}${PATH}
  • 我已清理(留空)C/C++ Build -> Settings 中的路径设置

似乎正在工作......但它削弱了 Eclipse 自动发现(包括不再被发现等)

【讨论】:

    【解决方案3】:

    Eclipse 似乎在不断改进,但... Eclipse 问题的所有答案都将以“这对我有用”的形式出现。

    这对我有用:

    Create a project:   
    File-> New -> Makefile Project With Existing Code
    + Browse to existing code location
    + Toolchain: Cross ARM GCC
    <Finish>
    

    有你的新项目。很好

    尝试构建 - 在控制台上似乎尝试运行命令“all”。 (希望你的路径'all'中的程序不会 rm -f ~/)

    现在打开项目属性并单击所有 C/C++ 构建选项。 不要更改它们,只需单击它们。点击 OK 退出。

    现在,再次尝试构建: 瞧!它有效:

    make all 被执行。

    (Eclipse 令人沮丧。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-07
      • 1970-01-01
      • 2011-12-06
      • 2014-11-10
      • 1970-01-01
      • 1970-01-01
      • 2014-12-08
      相关资源
      最近更新 更多