我尝试从graalvm文档https://www.graalvm.org/docs/getting-started/#running-llvm-interpreter执行简单的cpp代码,它给出了以下错误。
bash-4.2# lli --version
LLVM (GraalVM CE Native 19.1.1)
bash-4.2# clang++ -c -O1 -emit-llvm -stdlib=libc++ hello1.cpp
bash-4.2# lli hello1.bc
Global variable _ZNSt3__15ctypeIcE2idE is declared but not defined.
at <llvm> null(Unknown)
下面是我在graalvm网站上使用的代码。
bash-4.2# cat hello1.cpp
#include <iostream>
int main() {
std::cout << "Hello, C++ World!" << std::endl;
}
Docker映像详细信息:-
GRAALVM_PKG = https://github.com/oracle/graal/releases/download/vm-19.1.1/graalvm-ce-linux-amd64-19.1.1.tar.gz
答案 0 :(得分:0)
我认为您需要使用LLVM_TOOLCHAIN可安装程序中的clang++
,而不是系统clang。
$ gu install llvm-toolchain
$ export LLVM_TOOLCHAIN=$(lli --print-toolchain-path)
$ $LLVM_TOOLCHAIN/clang++ hello1.cpp -o hello1
$ lli hello1
Hello, C++ World!
我认为原因是默认情况下符号是乱码或类似的东西。