不确定如何表达问题。
我为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 /的包含路径,但是当我编译时,出现了许多未解决的符号错误。
我的自定义文件也依赖于其他包含路径中的文件。 (如果这可能是事情破裂的暗示)
有没有其他方法可以链接这些文件?
最佳答案
我弄清楚了我该怎么做,但实际上无法在8个小时内发布答案,因此我将在此处回答。
我可以将.c文件作为“链接资源”添加到我的项目中。
所以最后我有了一个〜/ myfiles的包含路径和一个链接的资源〜/ myfiles / customlib / myfile.c。
链接资源可以在项目属性->资源->链接资源->链接资源(选项卡)下找到
不幸的是,我的环境Ubuntu上的Code Composer Studio 6不允许我通过IDE实际添加链接的资源。
解决方法是将链接的资源直接添加到.project文件中。
〜/ workspace / 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 /../../(又称〜/)。 2告诉它有多少../
如果您第一次没有正确找到locationURI,则应该可以从项目属性->资源->链接资源->链接资源(选项卡)编辑文件路径
您可以将任何已定义的构建变量用于locationURI。这是写位置URI的另一种方法。 PROJECT_LOC /../../ myfiles / customlib / myfile.c
由于这是一个eclipse项目文件,因此它将被eclipse认为是locationURI正确格式的任何内容覆盖
您可以通过修改标签将链接的资源放置到项目中的文件夹中。 projectsubfolder / myfile.c。这将在项目目录下创建一个文件夹projectsubfolder。 〜/ workspace / myproject / project子文件夹
不幸的是,这不是最佳解决方案,因为我需要为在自定义库中创建的每个源文件添加链接资源条目。 CCS在进行项目复制/粘贴时会弄乱链接的资源,要求您再次将链接的资源添加到复制的项目中。
最后,这似乎是一个解决方案,但与符号链接文件相比,它确实没有太多好处。唯一的问题是,当我复制/粘贴项目时,我将知道该项目在未编译时未使用正确的文件。 (符号链接将使工作项目具有文件的副本而不是原始文件的副本)
我想我将需要学习有关创建.lib文件的知识,以使包含的内容更加轻松。
关于c - eclipse包含自定义文件(c),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24784625/