gpt4 book ai didi

c++ - 如何使用 clang++ 在 LLVM 中编译 C++ 程序?

转载 作者:太空狗 更新时间:2023-10-29 21:47:43 29 4
gpt4 key购买 nike

有一个教程- http://llvm.org/docs/GettingStartedVS.html用纯 C 完成的示例。我可以编译和链接它。没问题,真的。但我需要 C++,而不是纯 C。困难就在这里开始了。

对于 clang++,我使用类似的字符串

"C:\..> clang++ -c hello.cpp -emit-llvm -o hello.bc"

然后:

"C:\..> llc -filetype=obj hello.bc"

"C:\..> link hello.obj -defaultlib:libcmt -out:hello.exe"

我得到 14 个错误 LNK2001: 未解析的外部符号

所以,我需要一些提示。我做错了什么?

//-----------------

你好.cpp:

#include < iostream >

int main()

{

std::cout << "TEST\n" << std::endl;

return 0;

}

//-----------------

操作系统:Windows7。

UPD:主要问题:如何从 .bc 获取 .exe? (LLVM, Windows7)

最佳答案

您可以使用我的 GCCClang包:

下载并将它们解压缩到同一目录。 Clang 将使用 GCC 4.6.3 的 libstdc++ 和 MinGW-w64 的 CRT。像 gcc 一样调用它。

由于 ABI 问题,Clang/LLVM 目前无法与 MSVC 的 C++ 库一起使用。 GCC 的 libstdc++ 工作得很好,尽管它在令人惊讶的地方有漏洞(比如 std::to_string<regex><thread> )。

Clang 的 Windows 支持还可以,但远未完成。不幸的是,例如,您不能 dllexport 整个 C++ 类。而且 Win64 代码生成也不够好,无法安装有效的 C++(即使与 GCC 结合使用,例如 32 位)。

关于c++ - 如何使用 clang++ 在 LLVM 中编译 C++ 程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12643398/

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