![](/img/trans.png)
[英]get a basic c++ program to compile using clang++ on Ubuntu 16
[英]How to compile a C++ program in LLVM using clang++?
有一個教程 - 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: unresolved external symbol
所以,我需要一些提示。 我做錯了什么?
//-----------------
HELLO.CPP:
#include < iostream >
int main()
{
std::cout << "TEST\n" << std::endl;
return 0;
}
//-----------------
操作系統:Windows7。
UPD:主要問題:如何從.bc獲取.exe? (LLVM,Windows7)
下載並將它們解壓縮到同一目錄。 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位)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.