【问题标题】:How to let make only compile but not link如何让make只编译不链接
【发布时间】:2012-07-08 05:16:49
【问题描述】:

我正在使用 clang、llvm 来编译 MySQL 并进行一些分析。但是链接阶段非常耗时(+5 分钟),实际上我不需要最终的可执行文件。只对链接前成功生成的几个目标文件感兴趣。

我尝试将 LD AR 导出到 /bin/true 但它无法编译说没有规则来制作目标 xx.a。 一般来说,有没有办法只修改makefile(来自automake)编译而不是链接?

【问题讨论】:

  • 没关系。我通过仅将 LD 导出到 /bin/true 解决了这个问题
  • 感谢您的建议。我正在寻找“关闭”选项,但没有找到。看来我需要先发布答案:)

标签: compilation linker makefile


【解决方案1】:

将我的解决方法放在这里,以防有人有类似需求。

我所做的是将 LD 导出到 /bin/true 以便最后一个链接阶段可以快速通过,它基本上什么都不做,只是成功返回。

有时,构建系统可能不支持此 ENV 变量。在这种情况下,暂时将 `which ld' 更改为调用 /bin/true 的脚本(确保保留原始 ld 并在之后将其更改回来!)或使用别名 ld=/bin/true(虽然没有尝试过这种方法) .

【讨论】:

  • 谢谢,这个解决方案效果很好!!我可以编译和伪造一个没有错误的链接。
猜你喜欢
  • 1970-01-01
  • 2015-09-18
  • 2020-08-07
  • 2021-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-17
  • 1970-01-01
相关资源
最近更新 更多