【发布时间】: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++-dev 和 libc++abi-dev
我唯一能找到的 yum 是 libcxx(我安装的)。我不知道下一步该做什么......
编辑#1:
我已经从 RPM 安装了 libcxxabi 和 libcxxabi-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++