维塔斯科技

 找回密码
 立即注册
查看: 1548|回复: 9
打印 上一主题 下一主题

移植cconv到openwrt出错,恳请各位编译大神支招“undefined reference to”

[复制链接]

该用户从未签到

73

主题

454

帖子

1007

积分

金牌会员

Rank: 6Rank: 6

积分
1007
跳转到指定楼层
楼主
发表于 2016-3-28 14:47:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


cconv是一个可以把简体中文和繁体中文互相转换的程序,类似iconv。openwrt的package里面有iconv,但iconv碰到简繁混合的文件就会出错终止,而cconv就没有这样的缺点。
我照着iconv的Makefile写了一个,发现不能编译成功,是DB120或者HG255D或者AR71xx等mips平台的。请各位帮忙看看。
完美解决的,我将会转账2000M
源文件:cconv
cconv-0.6.2.tar.zip (526 K) 下载次数:0
软件主页:http://code.google.com/p/cconv/
Makefile ,我照着iconv改的,可能不正确,请大家一起指正

复制代码
# Copyright (C) 2012 OpenWrt.org
include $(TOPDIR)/rules.mk
PKG_NAME:=cconv
PKG_VERSION:=0.6.2
PKG_RELEASE:=1
PKG_REV:=$(PKG_VERSION)

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://cconv.googlecode.com/files/

PKG_INSTALL:=1

include $(INCLUDE_DIR)/package.mk

define Package/cconv
  DEPENDS:=+libiconv-full +libcharset
  SECTION:=utils
  CATEGORY:=Utilities
  TITLE:=CCONV CHINESE
  URL:=http://code.google.com/p/cconv
endef

define Package/dnscrypt-proxy/description
        Conver CHT to CHS
endef

define Build/Configure
        $(call Build/Configure/Default, \
                --prefix=/usr \
        )
endef

TARGET_CFLAGS += $(FPIC) -DUSE_DOS

define Build/Compile
        $(MAKE) -C $(PKG_BUILD_DIR) \
                CC="$(TARGET_CC)" \
                DESTDIR="$(PKG_INSTALL_DIR)" \
                install
endef

define Package/cconv/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(CP) $(PKG_INSTALL_DIR)/usr/bin/cconv $(1)/usr/bin/
endef

$(eval $(call BuildPackage,cconv))
出错信息:

复制代码
cconv-cconv.o: In function `cconv':
cconv.c.text+0x8cc): undefined reference to `iconv'
cconv.c:(.text+0x8e8): undefined reference to `iconv'
cconv.c:(.text+0x974): undefined reference to `iconv'
cconv.c:(.text+0x990): undefined reference to `iconv'
cconv.c:(.text+0xb3c): undefined reference to `iconv'
cconv-cconv.o:cconv.c:(.text+0xb58): more undefined references to `iconv' follow
cconv-cconv.o: In function `cconv_close':
cconv.c:(.text+0xd1c): undefined reference to `iconv_close'
cconv.c:(.text+0xd20): undefined reference to `iconv_close'
cconv.c:(.text+0xd40): undefined reference to `iconv_close'
cconv.c:(.text+0xd44): undefined reference to `iconv_close'
cconv.c:(.text+0xd64): undefined reference to `iconv_close'
cconv-cconv.o:cconv.c:(.text+0xd68): more undefined references to `iconv_close' follow
cconv-cconv.o: In function `cconv_open':
cconv.c:(.text+0xed8): undefined reference to `iconv_open'
cconv.c:(.text+0xedc): undefined reference to `iconv_open'
cconv.c:(.text+0xfa8): undefined reference to `iconv_open'
cconv.c:(.text+0xfb8): undefined reference to `iconv_open'
cconv.c:(.text+0x1174): undefined reference to `iconv_open'
cconv-cconv.o:cconv.c:(.text+0x1184): more undefined references to `iconv_open' follow
collect2: ld returned 1 exit status
make[3]: *** [cconv] Error 1
make[3]: Leaving directory `/media/hg255d/0829aa/build_dir/target-mips_uClibc-0.9.33.2/cconv-0.6.2'
make[2]: *** [/media/hg255d/0829aa/build_dir/target-mips_uClibc-0.9.33.2/cconv-0.6.2/.built] Error 2
make[2]: Leaving directory `/media/hg255d/0829aa/feeds/packages/utils/cconv'
make[1]: *** [package/feeds/packages/cconv/compile] Error 2
make[1]: Leaving directory `/media/hg255d/0829aa'
make: *** [package/cconv/compile] 错误 2





回复

使用道具 举报

该用户从未签到

57

主题

423

帖子

919

积分

高级会员

Rank: 4

积分
919
沙发
发表于 2016-3-28 14:47:28 | 只看该作者


这个估计要上恩山/中国无线门户/OpenWrt中文网或者其它国际OpenWrt技术网站/论坛人更多...

回复 支持 反对

使用道具 举报

该用户从未签到

65

主题

366

帖子

815

积分

高级会员

Rank: 4

积分
815
板凳
发表于 2016-3-28 14:47:28 | 只看该作者


回复本帖的M币多谢哦。

回复 支持 反对

使用道具 举报

该用户从未签到

68

主题

416

帖子

916

积分

高级会员

Rank: 4

积分
916
地板
发表于 2016-3-28 14:47:28 | 只看该作者

本帖最近评分记录:共条评分


回复 举报



在线n87735561




UID:1280127

注册时间2012-10-13 最后登录2016-03-28 在线时间3386小时 发帖57378 搜Ta的帖子 精华0 M币12925专家13 访问TA的空间加好友用道具

数码肆段








发帖57378M币12925专家13粉丝113加关注 发消息 只看该作者 2楼 发表于: 2014-07-21
回帖奖励+ 1
热心助人奖励:+1 M币


不懂这个帮顶了

回复 支持 反对

使用道具 举报

该用户从未签到

59

主题

438

帖子

953

积分

高级会员

Rank: 4

积分
953
5#
发表于 2016-3-28 14:47:29 | 只看该作者


直接用源码里的configure改host改target生成的makefile可以编译得到执行文件吗,按照它的提示好像是缺了iconv的库,你试试把出错的地方拉上去看看有没有说缺了头文件的,如果是缺了库的一般是找不到头文件的,缺了的要用源码编译库哦,不是linux上装哦

回复 支持 反对

使用道具 举报

该用户从未签到

46

主题

383

帖子

828

积分

高级会员

Rank: 4

积分
828
6#
发表于 2016-3-28 14:47:29 | 只看该作者


不懂,帮顶啦。

回复 支持 反对

使用道具 举报

该用户从未签到

72

主题

518

帖子

1130

积分

金牌会员

Rank: 6Rank: 6

积分
1130
7#
发表于 2016-3-28 14:47:29 | 只看该作者


不懂Makefile  的  路过  。。。。

回复 支持 反对

使用道具 举报

该用户从未签到

71

主题

398

帖子

885

积分

高级会员

Rank: 4

积分
885
8#
发表于 2016-3-28 14:47:29 | 只看该作者


楼下懂得说说。


回复 支持 反对

使用道具 举报

该用户从未签到

52

主题

406

帖子

880

积分

高级会员

Rank: 4

积分
880
9#
发表于 2016-3-28 14:47:30 | 只看该作者

本帖最近评分记录:共条评分


明艳不可方物!魅色手电精灵,最短小便携的不锈钢18650小直!(支持M币换购)  回复 举报



离线qhw2012


UID:930874注册时间2011-10-05 最后登录2016-03-26 在线时间155小时 发帖67 搜Ta的帖子 精华0 M币221专家1 访问TA的空间加好友用道具

数码5级

发帖67M币221专家1粉丝9加关注 发消息 只看该作者 1楼 发表于: 2014-08-04

最佳答案奖励:+100 M币


修改Makefile中依赖关系:
DEPENDS:=+libiconv
此外,还要修改cconv源码config.h.in:
注释掉/* #undef malloc */

最后,我交叉编译好了cconv
你试一下!
useage:分别copy sbin/cconv、lib/libiconv.so.2到openwrt sbin、lib目录
运行cconv

cconv.7z (605 K) 下载次数:1

回复 支持 反对

使用道具 举报

该用户从未签到

66

主题

451

帖子

988

积分

高级会员

Rank: 4

积分
988
10#
发表于 2016-3-28 14:47:30 | 只看该作者


进来看一看不懂。

回复 支持 反对

使用道具 举报

发表回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

    移动客户端:
    关注我们:
  • 手机客户端:
  • 安卓版
  • 扫描二维码下载

Archiver|手机版|邢台网云科技有限公司 ( 冀ICP备16008275号 )

快速回复 返回顶部 返回列表