我已经安装了 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.S
和crt0ivtbl.S
文件。
我没有运气完成的是告诉 Eclipse 查找~/Developer/mspgcc-20120406/gcc-4.6.3/config/msp430/
而不是已经构建的libcrt0.a
. 我试着玩弄Project Preferences->Paths and Symbols->Source Location
窗户,但运气不佳。我通过这个网站和谷歌搜索,我想出的最接近的是这个问题,但它不像正确答案“闻起来”。
我想避免涉及将库源移动到我的项目中的解决方案。我宁愿有一个适用于多个项目的解决方案。
非常感谢所有帮助!提前致谢。