automake:如何设置链接器脚本的路径?

Posted

技术标签:

【中文标题】automake:如何设置链接器脚本的路径?【英文标题】:automake: how set path to linker script? 【发布时间】:2014-09-14 15:58:28 【问题描述】:

我刚刚建立了一个跨 helloworld 的 automake 项目(用于 stm32f4-discovery)。我有一个自定义 discovery.ld 脚本。我在我的 Makefile.amAM_LDFLAGS = -T discovery.ld 中添加了一行。当我从另一个文件夹(例如 /path/to/source/build)运行 confgure 到脚本所在的文件夹(/路径/到/源)。实际上,在 /path/to/source/build 目录中,make 运行 gcc -T discovery.ld ... 并且找不到脚本,因为它在 /path/to/ source 目录,并且它不包含在搜索路径列表中。

-L/path/to/source-L.. 可以解决问题,但我不想硬编码。

也许存在一个 autoconf/automake 变量,它指向 configure 脚本(以及我的 discovery.ld)所在的文件夹,以便我可以在我的Makefile.am

我很乐意听取任何建议。

【问题讨论】:

AM_LDFLAGS = -T $(top_srcdir)/path/to/discovery.ld 【参考方案1】:

非常感谢威廉·珀塞尔:

AM_LDFLAGS = -T $(top_srcdir)/path/to/discovery.ld

【讨论】:

以上是关于automake:如何设置链接器脚本的路径?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 Cargo 执行构建脚本并同时使用特定于目标的链接器?

编写链接器脚本

2016.4.6 链接器脚本文件的编写

为啥链接器无法识别我的链接器脚本中定义的入口点

为啥我的链接器脚本中的 ENTRY() 没有设置为 . = <地址> 部分?

AVR - GNU 链接器脚本 - 如何获取 .data 部分的加载地址