linux - 在 AWS EC2 实例上使用 clang 编译时“命令行中缺少 DSO”
问题描述
我正在尝试在 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
和打包: https ://fedora.pkgs.org/30/fedora-x86_64/libcxxabi-8.0.0-1.fc30.x86_64.rpm.html
但它仍然错误...libcxxabi-devel
解决方案
也尝试安装 libc++abi。
_ZTVN10__cxxabiv117__class_type_infoE
是“__cxxabiv1::__class_type_info 的 vtable”。
推荐阅读
- php - 如何使用 WooCommerce is_shop 条件标签排除搜索结果
- java - 类示例不是抽象的,也没有实现 android.os.Parcelable 中定义的 fun writeToParcel()
- reactjs - history.push() 在将 History 升级到 5.0.0 后停止工作
- reactjs - 有没有办法将 react-apollo 绑定到单个组件而不是包装整个应用程序?
- c# - ASP.NET TextBox 控件不换行
- python - 10,000 到 100,000 到 150,000,000 及以上的正则表达式
- mongodb - MongoDb聚合检查对象数组中是否存在id
- reactjs - 使用引导程序在 React 中动态更改 NavDropdown 的标题
- django - 我想在 django 中可视化数据库图,但在 pygraphviz 中出现问题
- python - 两个段上联合的交集