C++学习(三五六)cannot find -liconv -lgnustl_shared

cygwin编译gdal是遇到。

执行如下命令时提示。

D:/android-ndk-r19c/toolchains/llvm/prebuilt/windows-x86_64/bin/aarch64-linux-android28-clang    conftest.c -lstdc++ -liconv -lgnustl_shared

conftest.c

/* confdefs.h */
#define PACKAGE_NAME ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define PACKAGE_STRING ""
#define PACKAGE_BUGREPORT ""
#define PACKAGE_URL ""
/* end confdefs.h.  */

int
main ()
{

  ;
  return 0;
}

iconv命令可以将一种已知的字符集文件转换成另一种已知的字符集文件。它的作用是在多种国际编码格式之间进行文本内码的转换。

stdc++的头文件和库文件分别存放在:

D:\android-ndk-r19c\toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\include

D:\android-ndk-r19c\toolchains\llvm\prebuilt\windows-x86_64\sysroot\usr\lib\aarch64-linux-android\28

问题原因:发现iconv已经在ndk r16b 中裁剪掉了,所以如果我们需要使用iconv,那么就需要自己重新打包放上去。

解决办法:在congfigure时,去掉LIBS即可(该变量包含了-liconv -lgnustl_shared)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值