gpt4 book ai didi

c - 如何替换 Makefile 中的 LD 变量以链接 C 对象

转载 作者:太空狗 更新时间:2023-10-29 15:53:08 26 4
gpt4 key购买 nike

我正在为 C 编写 Makefile。我希望能够通过环境变量指定不同的编译和链接程序。但是,我希望它也可以在没有任何其他变量的情况下工作。我试图与 ld 链接。但是,默认情况下不链接标准 C 库。

问题:
如何用ld或$LD连接C程序
是否可以从 cc 获取适当的标志?

我不能用 $(CC) 代替 $(LD)LD ?= cc 也不起作用。

我希望这样的事情是真的:
环境变量 CC 设置为 tcc。
环境变量 LD 未设置。
我的 Makefile 使用 tcc 编译,并使用 C 的系统默认链接器进行链接。

不幸的是,某些 C 编译器无法链接某些库。我在使用 tcc 和 glfw 时遇到了这个问题。

附言
Linux用户

最佳答案

条件赋值 $(LD) ?= cc 无法工作,因为 $(LD) 是预定义的。

如果你想在没有预定义变量的情况下启动 make,请使用选项 -R:

   > make -p | grep LD
...
LD = ld
...
> make -p -R | grep LD
>

关于c - 如何替换 Makefile 中的 LD 变量以链接 C 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8694268/

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