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

如何将已编译库的源路径链接到Eclipse中的其他位置?,c,eclipse,elf,eclipse-cdt,msp430,C,Eclipse,Elf,Eclipse Cdt,Msp430,我已经安装了msp430 gcc编译器和相关工具,以便在家中使用Eclipse进行一些开源msp430开发。我正在运行OS X Lion的稍旧的Macbook Pro上开发,并使用MacPorts安装了这些工具。我正在运行带有CDT和GCC交叉编译器支持插件的Eclipse3.7.2。我编写了一个简单的空main(),可以很好地编译和链接 ELF解析器允许我查看ELF二进制文件的内容,除了一个组件;当我试图在crt0.S中查看启动代码的内容时,它会给我一个空白文件。当我单击ELF的crt0.S组

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

ELF解析器允许我查看ELF二进制文件的内容,除了一个组件;当我试图在crt0.S中查看启动代码的内容时,它会给我一个空白文件。当我单击ELF的crt0.S组件时,Eclipse窗口底部的文件名栏显示了
“/opt/local/var/macports/build/_Volumes\u work\u imports\u dports\u cross\u 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中。

我希望能够做的是告诉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
中的路径。我试着在
projectpreferences->path and Symbols->Source Location
窗口中玩,但运气不太好。我在这个网站和谷歌上搜索过,我找到的最接近的东西是,但它“闻起来”不像是正确的答案

我希望避免涉及将库源代码移动到我的项目中的解决方案。我宁愿有一个解决方案,将工作的多个项目


非常感谢您的帮助!提前感谢。

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

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

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

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


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

谢谢您的提示。这似乎允许我在我的项目中创建一个
msp430 gcc libsrc
文件夹,并将其链接到
~/Developer/mspgcc-20120406/gcc-4.6.3/config/msp430/
,不幸的是,我认为这并不能满足我的需要。我需要一些方法来告诉ELF解析器(至少)如果它试图查看
/opt/local/var/macports/build/\u Volumes\u work\u mports\u dports\u cross\u msp430-gcc/msp430-gcc/work/gcc-4.6.3/gcc/config/msp430/
,它应该查看
~/Developer/mspgcc-20120406/gcc-4.6.3/config/msp430/
;本质上,我需要将一个别名替换为另一个。(继续前面的评论)。我在Eclipse文档中找不到链接资源的方法来实现这一点happen@ryan好吧,值得一提,以防万一。