有一个教程 - http://llvm.org/docs/GettingStartedVS.html纯C做的例子我可以编译并链接它。没问题,真的。但我需要C++,而不是纯粹的C,而这里的困难开始。如何使用clang ++在LLVM中编译C++程序?
对于铛++我用字符串如
"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
所以,我需要小号ome提示。我做错了什么?
//-----------------
HELLO.CPP:
#include <iostream>
int main()
{
std::cout << "TEST\n" << std::endl;
return 0;
}
//-----------------
操作系统:Windows7的。
UPD:主要问题:如何从.bc获取.exe? (LLVM,Windows7的)
我的linux机器上我可以运行'clang ++ -c hello.cpp -o hello'。这不适用于Windows? – none
有一种方法来得到.exe,但我需要得到.bc(字节码LLVM),然后从.bc得到.exe ... – kpdev
您不会发布您正在获取的链接错误,但我想它是C++运行时,这篇文章表明你需要mcsvcr80.dll来支持C++,所以我想你需要将它添加到链接行中... http://msdn.microsoft.com/en-us/library/abx4dbyh (v = vs80).aspx – combinatorial