D 如何编译静态二进制文件?

D 如何编译静态二进制文件?,d,D,Ubuntu 12.04上的DMD2.60。。。 我想创建一个静态二进制文件,这样我就可以在一个古老的环境中运行它。 dmd没有'-static'标志。 我尝试用“dmd-L-static…”将“-static”标志传递给链接器-获取错误消息 /usr/bin/ld: cannot find -lgcc_s 使用“gcc-static…”编译C代码效果很好。 是我错过了什么吗? 谢谢 由于它如何将链接器标志传递给链接器。您需要使用-c构建所有内容以生成对象文件,然后使用gcc或ld手动链接这些

Ubuntu 12.04上的DMD2.60。。。 我想创建一个静态二进制文件,这样我就可以在一个古老的环境中运行它。 dmd没有'-static'标志。 我尝试用“dmd-L-static…”将“-static”标志传递给链接器-获取错误消息

/usr/bin/ld: cannot find -lgcc_s
使用“gcc-static…”编译C代码效果很好。 是我错过了什么吗? 谢谢

由于它如何将链接器标志传递给链接器。您需要使用
-c
构建所有内容以生成对象文件,然后使用gcc或ld手动链接这些文件


但我应该指出,一般来说,静态链接glibc被认为是一个坏主意。在您的情况下,它可能非常有效,是正确的解决方案,但它肯定存在潜在问题(尽管我不记得细节)。因此,除非您确实需要,否则您可能不应该这样做。

您可以尝试只编译D个源代码,并手动使用LD链接。。。我想我从未试过,但似乎值得一试。