如何将已编译库的源路径链接到Eclipse中的其他位置?

时间:2012-06-10 21:46:15

标签: c eclipse elf eclipse-cdt msp430

我已经安装了msp430-gcc编译器和相关工具,使用Eclipse在家中进行一些开源msp430开发。我正在开发一款运行OS X Lion的稍微旧的Macbook Pro,并使用MacPorts安装这些工具。我正在使用CDT和GCC交叉编译器支持插件运行Eclipse 3.7.2。我有一个简单的空main()编写,编译和链接就好了。

ELF解析器让我可以正常查看ELF二进制文件的内容,但一个组件除外;当我尝试在crt0.S中查看启动代码的内容时,它给了我一个空白文件。当我单击ELF的crt0.S组件时,Eclipse窗口底部的文件名栏显示"/opt/local/var/macports/build/_Volumes_work_mports_dports_cross_msp430-gcc/msp430-gcc/work/gcc-4.6.3/gcc/config/msp430/crt0.S"。这是有道理的,因为我的MacPorts安装了msp430-gcc。 crt0.S已存档到/opt/local/lib/gcc/msp430/4.6.3/libcrt0.a on my machine.

我希望能够做的是告诉Eclipse在别处查找使用msp430-gcc工具链构建时自动链接的库的源文件。这可能包括/opt/local/lib/gcc/msp430/4.6.3/中的所有内容。我开始下载mspgcc-20120406(我的MacPorts安装中的版本)的源代码并将gcc补丁文件应用到空目录树。这创建了gcc/config/msp430目录,包括crt0.Scrt0ivtbl.S文件。

我没有幸运完成的事情是告诉Eclipse查看~/Developer/mspgcc-20120406/gcc-4.6.3/config/msp430/而不是已经构建的libcrt0.a中的路径。我尝试使用Project Preferences->Paths and Symbols->Source Location窗口,但没有太多运气。我搜索了这个网站和谷歌,我最接近的是this question,但它没有“闻到”正确答案。

我想避免涉及将库源移动到我的项目中的解决方案。我宁愿有一个适用于多个项目的解决方案。

非常感谢所有帮助!提前谢谢。

1 个答案:

答案 0 :(得分:0)

尝试检查Eclipse linked resource 是否可以帮助您在Eclipse项目中声明该外部目录。

  

链接资源是存储在项目位置之外的文件系统中的位置的文件和文件夹。这些特殊资源可用于向项目添加文件和文件夹,这些文件和文件夹由于某种原因必须存储在项目之外的某个位置。例如,链接文件夹可用于与源文件分开存储构建输出。

我觉得有趣的是如何定义链接资源:

  

链接的资源目标路径可以定义为绝对路径,也可以相对于路径变量

linked resource relative to a path variable

由于您可以相对于(例如)Eclipse 项目位置 PROJECT_LOC定义它,因此您可以以不会在两个环境之间更改的方式设置资源。 / p>