我正在使用用Clang构建的对象文件。但无论我传递给ld.exe
的库参数如何,它似乎总是回吐未解决的引用,例如memcpy
,标准库,东西以及像_cxa_atexit这样的实现东西。我需要使用MinGW与Clang构建的目标文件链接哪些库?
我需要传递给MinGW链接器来将它链接到可执行文件中的库文件(以什么顺序?)?
编辑:
我改变了三倍,从“为i686-PC-MinGW的”到“的i686-PC-mingw32的”,它解决了大部分的problems-锵的确实的“老把戏D3D9失败默默地当输入显然是错误的,输出无法正确输入“。但是我剩下的只有两个未解决的外部问题 - 和double
的std::_Hash_impl
,没有任何变化。该计划只是“你好,世界!”。奇怪的是,clang ++。exe和g ++。exe在编译源代码时都没有问题,但是如果我使用Clang C++ API将它编译为.o,然后将它传回MinGW,我会得到未解析的外部代码。
你为什么不让叮当做链接的任何具体原因? (或者可能是g ++,不知道目标文件是否兼容。)在Windows上不可用? – Mat
因为我需要使用Clang C++ API,所以我必须自己做。 – Puppy
(我不明白这是如何阻止你使用clang ++来链接,但我从来没有这样做过。)你有没有尝试用'clang ++ -v foo.cpp'构建一个虚拟的C++源代码并使用/调整链接器调用显示? – Mat