1

我已经安装了 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窗户,但运气不佳。我通过这个网站和谷歌搜索,我想出的最接近的是这个问题,但它不像正确答案“闻起来”。

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

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

4

1 回答 1

0

尝试检查 Eclipse链接资源是否可以帮助您在此处从 Eclipse 项目中声明该外部目录。

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

我发现如何定义该链接资源很有趣:

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

相对于路径变量的链接资源

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

于 2012-06-10T21:53:50.877 回答