叮叮当当“你好,世界!” Windows 中的链接错误

2024-01-12

我刚刚下载了 CLang 源代码,使用 CMake 创建了 Visual C++ 10 IDE 工作区,并从 Visual C++ 10.0 (express) 构建了所有内容。

现在我在 hello world 上收到一堆链接器错误:



d:\dev\test> type con >foo.cpp
#include <iostream>
using namespace std;
int main() { cout << "Hello, cling-clong world!" << endl; }
^Z

d:\dev\test> clang++ foo.cpp
foo-839435.o : error LNK2019: unresolved external symbol __ZSt4cout referenced in function _main
foo-839435.o : error LNK2019: unresolved external symbol __ZdlPv referenced in function __ZNSt14error_categoryD0Ev
foo-839435.o : error LNK2019: unresolved external symbol __ZSt18uncaught_exceptionv referenced in function __ZNSo6sentry
D2Ev
foo-839435.o : error LNK2019: unresolved external symbol ___cxa_rethrow referenced in function __ZNSt8ios_base5clearEib
foo-839435.o : error LNK2019: unresolved external symbol ___cxa_allocate_exception referenced in function __ZNSt8ios_base5clearEib
foo-839435.o : error LNK2019: unresolved external symbol ___cxa_throw referenced in function __ZNSt8ios_base5clearEib
foo-839435.o : error LNK2019: unresolved external symbol __ZSt17iostream_categoryv referenced in function __ZSt15make_er
  

那么我能做什么呢?


如果您想在 Windows 上试验 Clang,我建议使用 MinGW 构建版本,就像我在这里提供的版本(或者使用您最喜欢的 MinGW 工具链自行构建):

  • 32-bit http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/4.6.3/

  • 64-bit http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/4.6.3/

您将需要gcc and clang软件包(不带 linux/mac/cygwin 后缀的软件包)并将其解压到同一目录。 Clang使用gcc来链接,并且可以链接到GCC的libstdc++,几乎可以访问C++标准库。例外情况适用于 32 位版本。不过,我对调试信息没有任何运气。

我们正在努力为 Clang 提供更好的 MS 支持,但这是一项进展缓慢的任务。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

叮叮当当“你好,世界!” Windows 中的链接错误 的相关文章

随机推荐