我没有从高通论坛得到回应,所以我决定在这里发帖。当我尝试通过运行文档中所写的make run来运行六角形的Halide示例时。然后我得到了以下问题。-lc++abi丢失。
clang++ -std=c++11 -I /opt/qcom/Hexagon_SDK/4.3.0.0/tools/HALIDE_Tools/2.3.03/Halide/include -stdlib=libc++ -O3 -g -fno-rtti -rdynamic conv3x3_generator.cpp /opt/qcom/Hexagon_SDK/4.3.0.0/tools/HALIDE_Tools/2.3.03/Halide/lib/libHalide.a /opt/qcom/Hexagon_SDK/4.3.0.0/tools/HALIDE_Tools/2.3.03/Halide/tools/GenGen.cpp -o /opt/qcom/Hexagon_SDK/4.3.0.0/tools/HALIDE_Tools/2.3.03/Halide/Examples/build/offload/hexagon_benchmarks/bin/conv3x3.generator -lz -lrt -ldl -lpthread -lm
/usr/bin/ld: cannot find -lc++abi
clang: error: linker command failed with exit code 1 (use -v to see invocation)我检查了/usr/lib并找到。所以它应该在那里?
./x86_64-linux-gnu/libc++abi.so.1.0
./x86_64-linux-gnu/libc++abi.so.1
./llvm-10/lib/libc++abi.so.1.0
./llvm-10/lib/libc++abi.so.1我是不是错过了什么或者做了什么傻事?谢谢!
发布于 2021-08-08 03:05:09
ld是系统的主机链接器--即GNU BFD ld。clang++必须在您的PATH中,但它是主机clang++,而不是Halide/六边形工具中的hexagon-clang++。
发布于 2021-08-11 01:53:02
我联系了高通公司的人。我既不应该使用/usr/bin/clang++也不应该使用hexagon-clang++。我从https://releases.llvm.org/7.0.1/下载了clang+llvm-7.0.1-x86_64-linux-gnu-ubuntu-18.04.tar.xz。解压后,您应该使用bin文件夹下的clang++。现在它对我起作用了。
https://stackoverflow.com/questions/68688366
复制相似问题