eclipse包括自定义文件(c)

时间:2014-07-16 15:23:33

标签: c eclipse include-path code-composer

不确定如何说出问题。

我为我的c项目创建了一些文件,我想用于多个项目。

Project root: ~/workspace/myproject
Files :
  ~/workspace/myproject/customlib/myfile.h
  ~/workspace/myproject/customlib/myfile.c

我能够将它们从我的eclipse(Code Composer Studio)工作空间移开,并用符号链接替换它们到新的位置。

Custom lib dir: ~/myfiles/customlib

这工作正常,但我不想使用符号链接,因为有必要将这些符号链接添加到我想要我的customlib文件的任何项目中。此外,当在eclipse中复制/粘贴项目时,它似乎无法理解符号链接并创建文件的副本而不是符号链接。

我已经设置了〜/ myfiles /的包含路径,但是当我编译时,我得到了一堆未解决的符号错误。

我的自定义文件也依赖于来自其他包含路径的文件。 (如果这可能暗示为什么事情正在破裂)

我可以通过其他方式链接这些文件吗?

1 个答案:

答案 0 :(得分:0)

我想出了如何做我正在寻找的但却无法在8小时内发布答案,所以我会在这里回答。

我能够将.c文件作为“Linked Resources”添加到我的项目中。

所以最后我有〜/ myfiles的包含路径和链接资源〜/ myfiles / customlib / myfile.c。

链接资源可以在项目属性下找到 - >资源 - >链接资源 - >链接资源(标签)

不幸的是,我的环境,Ubuntu上的Code Composer Studio 6不允许我通过IDE实际添加链接资源。

作为一种解决方法,我将链接资源直接添加到.project文件中。

  

〜/工作区/ myproject的/的.project

在标有“性质”的部分,我添加了

<linkedResources>
    <link>
        <name>myfile.c</name>
        <type>1</type>
        <locationURI>$%7BPARENT-2-PROJECT_LOC%7D/myfiles/customlib/myfile.c</locationURI>
    </link>
</linkedResources>

“$%7BPARENT-2-PROJECT_LOC%7D”是指〜/ workspace / myproject /../../(a.k.a。〜/)。 2告诉它多少../'s

如果您第一次能够从Project Properties - &gt;编辑文件路径时没有获得locationURI。资源 - &gt;链接资源 - &gt;链接资源(标签)

您可以将任何已定义的构建变量用于locationURI。这是写入位置URI的另一种方法。 PROJECT_LOC /../../ myfiles的/ customlib / myfile.c文件

由于这是一个eclipse项目文件,因此无论eclipse决定哪个是适当的locationURI格式,它都会被覆盖

您可以通过修改标记将链接的资源放入项目的文件夹中。 projectsubfolder / myfile.c文件。这将在项目目录下创建一个文件夹projectsubfolder。 〜/工作区/ myproject的/ projectsubfolder

不幸的是这不是最佳解决方案,因为我需要为我在自定义lib中创建的每个源文件添加linkedresource条目。 CCS在执行项目复制/粘贴时会弄乱链接的资源,要求您再次将链接的资源添加到复制的项目中。

最后它感觉就像一个解决方案,但它确实没有比符号链接文件更多的好处。唯一的一个是当我复制/粘贴项目时,我知道项目在没有编译时没有使用正确的文件。 (符号链接将使用文件副本而不是原件创建一个工作项目)

我想我需要学习如何创建.lib文件,以使包含更加轻松。