关于:无法解析的外部符号 _libiconv报错的解决方法

2024-08-31 01:18

本文主要是介绍关于:无法解析的外部符号 _libiconv报错的解决方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天用Release的时候遇到这样的一个报错:

6>Tools.obj : error LNK2001: 无法解析的外部符号 _libiconv_close
6>Tools.obj : error LNK2001: 无法解析的外部符号 _libiconv_open
6>Tools.obj : error LNK2001: 无法解析的外部符号 _libiconv

6>E:\cocos2d\cocos2d-x-2.2.2\projects\***\proj.win32\Release.win32  ***.exe : fatal error LNK1120: 3 个无法解析的外部命令

查了一下是我搞的一个中文显示的问题,

网上查了一下,发现是iconv库的问题。

很顺利地找到了解决方法,原文是2.2版本的,该方法cocos2.2.2也适用,已经亲自测试。


【开发环境】:VS2010 vs2012均可用

【Cocos2dx版本】:cocos2d-x-2.2,cocos2.2.2也适用,其中自带iconv库

【序】iconv是Cocos2dx自带的非常好用的可以解决中文乱码问题的库


【坑一】:找不到iconv.h

【坑一填法】:在 工程属性 -> 配置属性 -> C/C++ -> 附加包含目录 添加iconv头文件所在文件夹,我的是在cocos2d-x-2.2\cocos2dx\platform\third_party\win32\iconv目录里面(我用的相对路径,可以填绝对路径)

真相如图:



【坑二】:坑一填完后运行遇到错误:

error LNK2019: 无法解析的外部符号 _libiconv_close。。。
error LNK2019: 无法解析的外部符号 _libiconv。。。
error LNK2019: 无法解析的外部符号 _libiconv_open。。。
fatal error LNK1120: 3 个无法解析的外部命令

这种无法解析的外部命令一般是未找到函数的实现,这里的原因就是没包含iconv的库。

【坑二填法】:在 工程属性 -> 配置属性 -> 链接器 -> 输入 -> 附加依赖项 添加libiconv.lib库文件, 如无意外,Bingo搞定O(∩_∩)O~

真相如下:



 

参考资料:

http://blog.csdn.net/m_leonwang/article/details/17586775

http://blog.csdn.net/alex_my/article/details/10567541   cocos2dx使用iconv

http://www.cnblogs.com/hewei2012/p/3374147.html    cocos2d_x iconv转码


 

这篇关于关于:无法解析的外部符号 _libiconv报错的解决方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1122474

相关文章

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

Java并发编程必备之Synchronized关键字深入解析

《Java并发编程必备之Synchronized关键字深入解析》本文我们深入探索了Java中的Synchronized关键字,包括其互斥性和可重入性的特性,文章详细介绍了Synchronized的三种... 目录一、前言二、Synchronized关键字2.1 Synchronized的特性1. 互斥2.

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE