加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – 使用iconv for iOS构建Boost.Locale

发布时间:2020-12-16 09:59:52 所属栏目:百科 来源:网络整理
导读:我目前正在尝试为iOS构建Boost.Locale,但我无法找到iconv lib(我正在成功构建Boost for iOS的其他部分,例如线程或文件系统). 我试图让Boost.Build自己找到它,我试图将ICONV_PATH变量设置为指向iPhoneOS SDK iconv lib.检查Boost.Locale中的Jamfile,我偶然发
我目前正在尝试为iOS构建Boost.Locale,但我无法找到iconv lib(我正在成功构建Boost for iOS的其他部分,例如线程或文件系统).

我试图让Boost.Build自己找到它,我试图将ICONV_PATH变量设置为指向iPhoneOS SDK iconv lib.检查Boost.Locale中的Jamfile,我偶然发现了这条规则:

lib iconv 
  : 
  : <search>$(ICONV_PATH)/lib <link>shared <runtime-link>shared
  :
  : <include>$(ICONV_PATH)/include 
  ;

所以我认为将-sICONV_PATH设置为/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.4.sdk/usr就足够了,因为这个目录包含一个lib和一个include文件夹,其中包含iconv lib和标题,但Boost仍然无法找到它,并吐出:

iconv (libc)             : no
iconv (separate)         : no
icu                      : no
icu (lib64)              : no
Boost.Locale needs either iconv or ICU library to be built.

请注意,我总是使用–reconfigure选项调用b2,因此它不是上一次调用的缓存结果(在上面的列表中会有一个尾随(缓存)).

那么,有没有办法在iOS SDK中的iconv实现中正确指出Boost?如果可能的话,我想避免构建一个单独的iconv.

解决方法

我遇到了类似的问题.经过一些挖掘和一些红色鲱鱼,我了解到通过编译has_iconv.cpp程序,boost检测到了iconv.在我的情况下(使用很多人似乎用于编译iOS的boost.sh脚本)在config.log中有很多编译错误,这是由user-config.jam中的错误using语法引起的.所以问题 – 至少对我而言 – 没有设置ICONV_PATH,而是让检测程序完全编译!也许你有类似的问题.

如果你有兴趣,我做了full write up of finding in my blog.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读