博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编译pano13的一些注意事项
阅读量:7295 次
发布时间:2019-06-30

本文共 1056 字,大约阅读时间需要 3 分钟。

作者:朱金灿

来源:

 

       pano是一个开源图像拼接库,pano13就是它的1.3版本。今天编译这个库,发现需要注意一个地方。pano是依赖于png库的。我设置依赖的png库的版本是1.5.12。在编译pano13出现下面错误:

 

错误285error 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>。

转载于:https://www.cnblogs.com/lanzhi/p/6470254.html

你可能感兴趣的文章
[未完成]关于CSS的总结
查看>>
陈皓一起写Makefile 概述
查看>>
linux下安装启动rpc服务
查看>>
Software Testing, Lab 1
查看>>
World发布博客测试
查看>>
IIS 提高连接的并发数,和CPU的使用率。
查看>>
修改Sysvol复制方式
查看>>
python3.x中如何使用base64、base32、base16编码解码
查看>>
HDOJ 1084 排序 水
查看>>
深度拷贝一个链表
查看>>
POJ3229
查看>>
用promise封装ajax
查看>>
git创建工程
查看>>
UIScrollView的contentSize、contentOffset和contentInset属性
查看>>
IOS开发之自定义UITabBarController
查看>>
关于UI设计中的交互软件Axure7.0运用
查看>>
将网站项目转为 Web form应用程序(转)
查看>>
泛型简要原理
查看>>
poj 1254 Hansel and Grethel
查看>>
VirtualBox安装CentOS7
查看>>