gpt4 book ai didi

c - 如何将已编译库的源路径链接到 Eclipse 中的不同位置?

转载 作者:太空宇宙 更新时间:2023-11-04 04:54:20 26 4
gpt4 key购买 nike

我已经安装了 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。

我想要做的是告诉 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但它“闻起来”不像正确答案。

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

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

最佳答案

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

Linked resources are files and folders that are stored in locations in the file system outside of the project's location. These special resources can be used to add files and folders to your project that for some reason must be stored in a certain place outside of your project. For example, a linked folder can be used to store build output separately from your source files.

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

Linked resource target paths can be either defined as absolute paths, or relative to a path variable.

linked resource relative to a path variable

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

关于c - 如何将已编译库的源路径链接到 Eclipse 中的不同位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10972593/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com