编译pano13的一些注意事项
作者:朱金灿
来源:error C2037: “jmpbuf”的左侧部分指定未定义的结构/联合“png_struct_def”e:\src\Test\libpano13-2.9.17\png.c64
错误287error C2037: “jmpbuf”的左侧部分指定未定义的结构/联合“png_struct_def”e:\src\Test\libpano13-2.9.17\png.c173
错误286error C2168: “_setjmp”: 内部函数的实参太少e:\src\Test\libpano13-2.9.17\png.c64
错误288error C2168: “_setjmp”: 内部函数的实参太少e:\src\Test\libpano13-2.9.17\png.c173
发现需要在编译png库需要设置预处理器:PNG_SETJMP_SUPPORTED,pano13工程中同样需要设置预处理器:PNG_SETJMP_SUPPORTED
然后在pano13工程需要修改两处代码:
将64行的if (setjmp(png_ptr->jmpbuf))改为if(png_jmpbuf(png_ptr)),将174行的if (setjmp(png_ptr->jmpbuf))改为if(png_jmpbuf(png_ptr))。
原因是png的头文件中有说明:
This function should be used by libpng applications in place of longjmp(png_ptr->jmpbuf, val). If longjmp_fn() has been set, it will use it; otherwise it will call PNG_ABORT(). This function was added in libpng-1.5.0.
还有一个错误是编译png.c时出现png_struct_def结构体无法识别的错误,解决办法是在#include "png.h"下面增加一行代码:#include <pnginfo.h>。
编译pano13的一些注意事项的更多相关文章
- Linux环境下使用VSCode编译makefile文件的注意事项
Linux环境下使用VSCode编译makefile文件的注意事项 首先安装C/C++的两个依赖 在debug,launch会自动的生成下方的launch.json launch.json { // ...
- Mesos编译步骤及部署注意事项(Ubuntu)
注意事项: 编译过程如果有错误提示少什么库,则相应的安装库即可在编译中出现 g++: internal compiler error: Killed (program cc1plus)的错误是因为内存 ...
- 程序编译时书写Makefile注意事项一例
在进行程序编译时,可能需要指定一些库的库的路径.头文件的路径,分别使用的参数选项是-L和-I,需要注意的是: 需要确保-L和-I后边的内容不为空,否则会出现意想不到的错误,而这种错误比较难以发现,引起 ...
- ★Java-----记事本编译、运行时注意事项
1.文件名需要与源代码中公共类的名字相同,即class后面的名字: 2.Java中严格区分大小写: 3.记事本编辑好之后保存文件后缀必须是". java": 4.运行cmd,dos ...
- 【UE4 插件】UnrealEnginePython 源码版编译、项目打包注意事项
源码下载 git clone git clone https://github.com/20tab/UnrealEnginePython 直接下载zip https://github.com/20ta ...
- Visual Studio 2013编译Mozilla NPAPI 示例注意事项
1.Platform Toolset设置Visual Studio 2013 - Windows XP (v120_xp). 2.Character Set设置Use Multi-Byte Chara ...
- 【菜鸟玩Linux开发】在Linux中使用VS Code编译调试C++项目
最近项目需求,需要在Linux下开发C++相关项目,经过一番摸索,简单总结了一下如何通过VS Code进行编译调试的一些注意事项. 关于VS Code在Linux下的安装这里就不提了,不管是CentO ...
- 【转载】在Linux中使用VS Code编译调试C++项目
原文:在Linux中使用VS Code编译调试C++项目 最近项目需求,需要在Linux下开发C++相关项目,经过一番摸索,简单总结了一下如何通过VS Code进行编译调试的一些注意事项. 关于VS ...
- 在Linux中使用VS Code编译调试C++项目
最近项目需求,需要在Linux下开发C++相关项目,经过一番摸索,简单总结了一下如何通过VS Code进行编译调试的一些注意事项. 关于VS Code在Linux下的安装这里就不提了,不管是CentO ...
随机推荐
- 阅读笔记—JSP
JSP页面概述 JSP(JavaServer Page)是一种动态页面技术,它在java web应用中主要实现表现逻辑.JSP页面是在HTML页面中嵌入JSP元素的动态Web页面,一般来说JSP页面中 ...
- maven 遇到failOnMissingWebXml有关问题解决方法
(转自) http://blog.csdn.net/liuvlun/article/details/50218507
- Android Support 包里到底有什么
大家假设喜欢我的博客,请关注一下我的微博,请点击这里(http://weibo.com/kifile),谢谢 转载请标明出处(http://blog.csdn.net/kifile),再次感谢 随着 ...
- PHP 版本简单记录
PHP 版本简单记录 PHP 博物馆 http://museum.php.net/php5/ PHP 版本发布 https://secure.php.net/release ...
- mk-编译信息的意义
今天第一次看Android.mk文件,内容如下 # Copyright 2007-2008 The Android Open Source Project 2 3 LOCAL_PATH:= $(cal ...
- NOPI 锁定Excel单元格不让编辑的方法
简介:原生态纯JavaScript 100大技巧大收集---你值得拥有 http://www.cnblogs.com/xl900912/p/4223629.html 从博客园上看都的关于JS的一些常见 ...
- jQuery高级选择器和其等价方法
jQuery选择器和css一样,但兼容性更好 <body> <p>p1</p> <p>p1</p> <p>p1</p> ...
- weblogic12
http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html 建立ejb http://docs.oracle. ...
- JAVA Mail邮件实现发送
package com.test;import java.util.Date;import java.util.Properties;import javax.mail.Message;import ...
- NVM安装nodejs的方法
安装nodejs方式有很多种. 第一种:官网下载 通过nodejs官网下载安装 ,但有个缺陷,不同版本的nodejs无法顺利的切换. 第二种: NVM安装 NVM可以帮助我们快速切换 node版本 ...