c++ - Eclipse项目通过环境变量链接资源

标签 c++ linux eclipse eclipse-cdt environment

我在设置 Eclipse C++ 项目时遇到问题。我需要链接来自不同目录的源代码,在我的环境中,我需要的源代码有时会移动(例如,当我总是想要当前位于 /aaa/bbb 之类的目录中的子系统的最新版本时/v1.2.3/src)。我总是通过 linux 环境变量知道我想要的源的位置,比如 $SYSTEM1_LATEST_ROOT。如果没有这个,每当我应该从新位置选择源时,我都需要更新我的所有项目。

我找不到在链接资源的路径中包含环境变量的方法。包含目录工作得很好(这些在我的 .cproject 文件中定义),例如 (.cproject):

<option id="..." name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
    ...
    <listOptionValue builtIn="false" value="${SYSTEM1_LATEST_ROOT}/src"/>
    ...
</option>

对于链接资源(在 .project 文件中定义),我知道我可以使用路径变量,但这些仅在 Eclipse 中定义,我找不到基于环境变量的方法,只能与我自己的项目相关位置,这不是我想要做的。

简而言之,我想从基于环境变量的位置链接源代码。变量名称是常量,但源的实际位置(通过环境变量已知)不是。

具有相对于项目的路径的工作示例。这不是我想要的(.project):

<linkedResources>
    <link>
        <name>System1_src</name>
        <type>2</type>
        <locationURI>PARENT-6-PROJECT_LOC/src</locationURI>
    </link>
</linkedResources>

我想做的事情的非工作示例(.project):

<linkedResources>
    <link>
        <name>System1_src</name>
        <type>2</type>
        <locationURI>${SYSTEM1_LATEST_ROOT}/src</locationURI>
    </link>
</linkedResources>

有什么建议吗?

最佳答案

等了一个月后,我想是时候用我自己的发现来回答了..

首先是路径变量的概念(http://help.eclipse.org/indigo/index.jsp?topic=/org.eclipse.platform.doc.user/concepts/cpathvars.htm);

"Linked resource target paths can be either defined 
 as absolute paths, or relative to a path variable."

两种选择;绝对路径或相对于路径变量。

特别是关于路径变量:

"Each project contain a pre-defined set of path 
 variables available for defining linked resources, 
 including ECLIPSE_HOME, PARENT_LOC, PROJECT_LOC and 
 WORKSPACE_LOC.

New path variables can be defined relative to 
existing path variables by using the ${VAR} syntax. 
For example, a path variable FOO can be defined 
relative to BAR by defining it to "${BAR}../foo"."

换句话说,路径变量总是以某种方式相对于项目位置,使用对项目一词的自由解释。

所以下一个选项是绝对路径。包含环境变量的绝对路径会起作用!

"The linked resource target path can be changed by 
 selecting the Edit... button in the File > Properties > 
 Resource property page of the linked resource. "

尝试这个很明显,只有路径变量被支持作为链接资源路径的一部分。我们已经知道路径变量的定义。

答案是……

Eclipse 不包含这个非常基本的功能。

任何人,请证明我错了!

关于c++ - Eclipse项目通过环境变量链接资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23134081/

相关文章:

c++ - 读取数据或导入数据

c++ - 如何使用 EvtQuery 函数查找日志文件的大小?

android - 以 Shell 用户身份运行 Android 应用程序

linux - 如何在 linux 中找到现在写入的文件?

eclipse - 在单台 PC 上构建 J2EE 开发/测试设置

c++ - 默认参数提升何时发生?

c++ - 从公共(public)接口(interface)继承时,为什么实现是公共(public)的还是私有(private)的并不重要?

Android 模拟器在 Ubuntu 上卡住

eclipse - 在eclipse中更改jdk

android - 警告 : Keybinding conflicts occurred in Eclipse ADT