首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Windows10上的LibPNG构建问题

Windows10上的LibPNG构建问题
EN

Stack Overflow用户
提问于 2020-01-01 02:13:58
回答 2查看 526关注 0票数 0

我正在尝试在Windows10上构建libpng来获取win32二进制文件,但我想,有一个问题与带有CRLF行结尾的awk解析文件有关。我尝试使用dos2unix命令转换文件,但没有成功,结果相同-在make命令上,我得到了下一个输出:

代码语言:javascript
复制
sh-3.1$ make
rm -f pnglibconf.c pnglibconf.tf[45]
gawk -f ./scripts/options.awk out=pnglibconf.tf4 version=search\
            ./pngconf.h ./scripts/pnglibconf.dfa\
            ./pngusr.dfa  1>&2
gawk -f ./scripts/options.awk out=pnglibconf.tf5 pnglibconf.tf4 1>&2
options.awk: bad line (10): com
make: *** [pnglibconf.c] Error 1

编译器是在WIndows 10 x86上使用MSYS v1.0的MinGW,libpng版本是1637。如何解决这个问题?

更新:通过下载tar.gz存档解决了问题,但有了新问题

代码语言:javascript
复制
sh-3.1$ make                                                                                                            make  all-am                                                                                                            make[1]: Entering directory `/c/Users/user/Downloads/libpng-1.6.37.tar/libpng-1.6.37'                                   depbase=`echo contrib/tools/pngfix.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\                                                      gcc -DHAVE_CONFIG_H -I.     -g -O2 -MT contrib/tools/pngfix.o -MD -MP -MF $depbase.Tpo -c -o contrib/tools/pngfix.o contrib/tools/pngfix.c &&\                                                                                                  mv -f $depbase.Tpo $depbase.Po                                                                                  In file included from contrib/tools/../../png.h:330,
                 from contrib/tools/pngfix.c:44:
contrib/tools/../../pnglibconf.h:206:54: error: expected identifier or '(' before '-' token
 #define PNG_TEXT_Z_DEFAULT_STRATEGY                                                   0
                                                      ^
In file included from contrib/tools/../../png.h:335,
                 from contrib/tools/pngfix.c:44:
contrib/tools/../../pngconf.h:524:9: error: unknown type name 'ptrdiff_t'
 typedef ptrdiff_t png_ptrdiff_t;
         ^~~~~~~~~
make[1]: *** [contrib/tools/pngfix.o] Error 1                                                                           make[1]: Leaving directory `/c/Users/user/Downloads/libpng-1.6.37.tar/libpng-1.6.37'                                    make: *** [all] Error 2

经实验验证,在Linux上不会出现此问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-02 00:59:22

解决了。摘要:在unix LF中使用tar.gz或xz归档,并编辑编译过程中生成的pnglibconf.h,这样就没有换行。

票数 0
EN

Stack Overflow用户

发布于 2020-04-10 01:42:23

我的解决方案是将scripts/pnglibconf.dfa上的换行符从CRLF改为LF。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59547342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档