我需要与MinGW链接哪些库以使用Clang构建的对象文件

Which libraries do I need to link against with MinGW for an object file built with Clang?

本文关键字:Clang 构建 文件 对象 MinGW 链接      更新时间:2023-10-16

我正在使用Clang构建的对象文件。但是无论我传递什么库参数给ld.exe,它似乎总是返回未解析的引用,如memcpy,标准库,和实现的东西,如_cxa_atexit。

我需要传递什么库(以什么顺序?)给MinGW链接器,让它将我的目标文件链接到可执行文件?

编辑:

我将三组从"i686-pc-mingw"更改为"i686-pc-mingw32",它解决了大多数问题- Clang做旧的D3D9技巧"当输入明显错误并且没有办法输出正确时无声失败"。但我只剩下两个未解决的外部- floatdouble的一些std::_Hash_impl,没有变化。程序就是"Hello, World!"奇怪的是,clang++.exe和g++.exe在编译源代码时都没有问题,但如果我使用clang++ API将其编译为。o,然后将其传递回MinGW,我就会得到无法解析的外部。

一般来说,在构建二进制文件时使用不同的工具链并不是一个好主意。完全有可能不同工具对符号名称的想法不一致。

仍然试图回答你的实际问题:

-lstdc将是最低要求,-lstdc++如果它是c++代码。如果不知道代码的作用,就不可能知道是否需要更多的代码。