【问题标题】:"DSO missing from command line" when compiling with clang on AWS EC2 instance在 AWS EC2 实例上使用 clang 编译时出现“命令行中缺少 DSO”
【发布时间】:2020-08-03 11:16:40
【问题描述】:

我正在尝试在 EC2 实例上编译 C++ 程序以用于 aws lambda。我正在使用 make 文件,然后输入

make -f Makefile

这似乎构建了以下表达式:

clang++ -std=c++11 -stdlib=libc++ -L/usr/lib/opencas -L/usr/lib -lTKBRep -lTKG2d -lTKG3d -lTKGeomBase -lTKMath -lTKMesh -lTKSTEP -lTKSTEP209 -lTKTopAlgo -lTKSTEPAttr -lTKSTEPBase -lTKSTL -lTKXSBase -lTKernel  -o step2stl lib.o main.o

然后我得到以下错误:

/usr/bin/ld: lib.o: undefined reference to symbol '_ZTVN10__cxxabiv117__class_type_infoE@@CXXABI_1.3'
//usr/lib64/libstdc++.so.6: error adding symbols: DSO missing from command line
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [step2stl] Error 1

我已经四处搜索,但我发现的唯一解决方法是将 libc++ 添加到表达式中,但它似乎已经存在了。

我在 Ubuntu 上构建了同样的程序没有问题,但我必须安装 libc++-devlibc++abi-dev

我唯一能找到的 yum 是 libcxx(我安装的)。我不知道下一步该做什么......

编辑#1:

我已经从 RPM 安装了 libcxxabilibcxxabi-devel 软件包:https://fedora.pkgs.org/30/fedora-x86_64/libcxxabi-8.0.0-1.fc30.x86_64.rpm.html 但是还是报错...

【问题讨论】:

    标签: linux amazon-ec2 clang clang++ libc++


    【解决方案1】:

    也尝试安装 libc++abi。

    _ZTVN10__cxxabiv117__class_type_infoE 是“__cxxabiv1::__class_type_info 的 vtable”。

    【讨论】:

    猜你喜欢
    • 2021-05-18
    • 1970-01-01
    • 1970-01-01
    • 2017-02-25
    • 2016-09-27
    • 2017-05-13
    • 2016-01-20
    • 2019-01-12
    • 1970-01-01
    相关资源
    最近更新 更多