C++学习(一八八)android程序编译时NDK ld: cannot find -lc++

在Android平台编译C++程序时遇到NDK链接错误ld: cannot find -lc++。解决方案是使用Android提供的libc++_shared.so库,因为libstdc++仅提供有限的C++支持且不包含STL。静态库c++_static可能导致程序体积过大,因此更推荐使用动态库c++_shared。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

j解决办法:https://forum.qt.io/topic/103713/error-cannot-find-lc-qt-5-12-android/21

QMAKE_LINK += -nostdlib++

 

Android 平台提供很小的 C++ 运行时支持库 (libstdc++)。这种很小的支持不包含如下支持:

  • 标准 C++ 库支持(几个无关紧要的标头除外)。
  • C++ 异常支持
  • RTTI 支持

NDK 提供此默认库使用的标头。此外,NDK 还提供大量可提供其他功能的帮助程序运行时。

 

 

Android使用的C++库有如下几种:

名称 说明 功能
libstdc++ 默认最小系统 C++ 运行时库  
gabi++_static GAbi++ 运行时(静态) C++ 异常和 RTTI
gabi++_shared GAbi++ 运行时(共享) C++ 异常和 RTTI
stlport_static STLport 运行时(静态) C++ 异常和 RTTI;标准库
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值