解决cocos2dx在Xcode中运行时报:convert: iCCP: known incorrect sRGB profile 的问题

本文的实践来源是参照了两个帖子完成的:

http://discuss.cocos2d-x.org/t/cocos2d-x-3-0-and-libpng/12451

http://www.myexception.cn/image/462530.html

感谢以上作者的分享。。。

以前每次运行cocos2dx 的程序时总是报警告:convert: iCCP: known incorrect sRGB profile,

今天来解决一下。。。

要解决这个问题需要在终端(Mac)运行 ImageMagick的convert命令:

  find . -type f -name "*.png" -exec convert {} -strip {} \;

可是经过若干次尝试发现convert()原来是ImageMagick 中的命令,遂有了下面先安装ImageMagick 的过程。。。

1,先安装ImageMagick 所依赖的库,因为我们的工程中仅仅用到了PNG的图,所以此处就以PNG库为例,其他类似。。。

到 http://www.imagemagick.org/download/delegates/ 下载对应的库,

此处仅下载 libpng-1.6.14.tar.gz 包,然后通过下面的命令安装:

  tar xzvf libpng-1.6.14.tar.gz

  cd libpng-1.6.14

  ./configure

  make

  sudo make install


2,安装ImageMagick,

  curl -O ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick.tar.gz

  tar xzvf ImageMagick.tar.gz

  cd ImageMagick-6.7.6-5

  ./configure --prefix=/opt/ImageMagick --enable-share --enable-static LDFLAGS="-L/usr/lib64" CPPFLAGS="-I/usr/include”

  make

  sudo make install

3,验证PNG依赖库有没有安装成功,

  运行

  /opt/ImageMagick/bin/convert -list format,

在结果中查找是否含有  PNG*,有的话说明依赖库已经安装成功,否则没有成功,然后回去仔细检查是否按照本教程一步步的安装,亦或是参照上面的两个连接查找原因。。。

4,好了,既然安装好了ImageMagick,那么convert函数便可以用了,在命令行 cd 到自己的工程资源目录,运行下面的 命令来解决上面提到的问题

  find . -type f -name "*.png" -exec /opt/ImageMagick/bin/convert {} -strip {} \;  

5,扩展:当然ImageMagick还有很多其他非常强大 的功能,此处便不意义列举了,想了解的话可以自己去查。。。

时间: 2024-08-01 08:10:25

解决cocos2dx在Xcode中运行时报:convert: iCCP: known incorrect sRGB profile 的问题的相关文章

解决:在Eclipse中运行monkeyrunner脚本报错: IOError: (2, 'File not found - D:\\workspace\\monkeyrunner_test01 (\u62d2\u7edd\u8bbf\u95ee\u3002)')

在eclipse中搭建运行monkeyrunner脚本的环境,请见lynnLi的博客monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四) 但在实践中,状况确实层出不穷,首先我搭建好环境后,运行了一个简单的脚本,没想到抛出了错误. IOError: (2, 'File not found - D:\\workspace\\monkeyrunner_test01,说明没有在我们配置的路径下找到相应的脚本. 我们点击Run-External Tools-Exter

从XCode添加File的错误Multiple errors occurred while copying the files分析Cocos2d-x在XCode工程中添加文件

1.Multiple errors occurred while copying the files问题 关于这个问题,这里有解决办法 大致的意思是 1)添加文件没有全部添加,但是有部分添加成功,再次以文件夹添加之前的文件时会报这样的错误. 2)解决办法:先clean工程,点击上步需要添加文件的父目录,show  in  finder,删除之前添加的文件,重新添加. 这是一个解决办法,但是出现这样的问题还有另外一个原因: 勾选上了1的选项,导致出现上面的错误,直接去掉就可以了. 2.讲一讲Coc

使用Unity游戏引擎在IOS模拟器中运行的方法

在Unity编译IOS程序时,在Unity导航栏菜单中选择Edit->ProjectSettings ->Player(菜单项)选择IOS平台在下方SDK Version处选择运行设备为IOS模拟器. 选择完毕后Build and Run 即可.   注意:如果你XCODE的模拟器不是4.3 比如你的模拟器更新到5.1了,然而这里没有5.1模拟器的选项,此时只需要选择IOS Simulator latest 即可. 在Xcode中运行游戏即可将游戏模拟器打开.

解决vs2013下创建的python文件,到其他平台(如linux)下中文乱码(或运行时报SyntaxError: (unicode error) 'utf-8' codec can't decode byte...)

Vs2013中创建python文件,在文件中没输入中文时,编码为utf-8的,如图 接着,在里面输入几行中文后,再次用notepad++查看其编码如下,在vs下运行也报错(用cmd运行就不会): 根据以有经验,这是字符编码的问题了,试着将python文件的转化为utf-8的,直接在notepad++上转utf-8 无bom编码格式的,保存,打开vs,会有以下提示 这里不要选择no吧,不然可能会提示以下类似的错误 如果有提示,直接关闭,不然的话,vs又会将此文件保存为ascii格式了 解决vs20

python运行时报错can't find '__main__' module in 'xxx' 的解决办法

刚开始学习python,想要使用pycharm来编辑和运行程序,所以就安装了下pycharm ,写了个简单的代码决定运行下,结果出现如下错误: 度娘找了一番,解决了问题,发现错误主要因为在这里 没有运行的成功的原因就是这里没有选择*.py 文件. 选择目标文件夹当动中的 *.py 文件. python运行时报错can't find '__main__' module in 'xxx' 的解决办法 原文地址:https://www.cnblogs.com/dcx-1993/p/10306327.h

轻易解决VMware 虚拟机中被提示“请不要在虚拟机中运行此程序“

决 VMware 虚拟机 中被提示 "请不要在虚拟机中运行此程序"或者"Themida Sorry, this application cannot run under a Virtual Machine"方法 自己发现问题,解决问题后,觉得应该分享给大家.用记事本打开 VMX 文件 类似 Windows XP Professional.vmx ,在文本末尾加入一行 monitor_control.restrict_backdoor = TRUE 保存文件 现在启动

在MFC 窗口中运行 cocos2d-x 3.2

在MFC 窗口中运行 cocos2d-x 3.2 (一) 基本配置 在MFC 窗口中运行 cocos2d-x 3.2 (二) 让其在MFC picture控件中运行

linux下开发,解决cocos2d-x中编译出现的一个小问题, undefined reference to symbol '[email protected]@GLIBC_2.2.5'

解决cocos2d-x中编译出现的一个小问题 对于cocos2d-x 2.×中编译中,若头文件里引入了#include "cocos-ext.h",在进行C++编译的时候会遇到例如以下错误: undefined reference to symbol '[email protected]@GLIBC_2.2.5'/lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command li

Android 运行时报错Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled. 的解决办法

解决方法:在菜单栏,Tools->Android->Enable ADB integration勾选就可以了. Android 运行时报错Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled. 的解决办法