1
我试着在使用CC 5.10的Cray x86_64系统上编译libpng 1.5.14,并遇到频繁丢失的endif错误。我通过在文件末尾添加一个#endif来解决了其中的许多错误,允许通过第一系列3次测试继续进行“检查”。但是,dfn.c中有1个endif错误,我无法修复。我试图通过将dfn.c复制到hack_dfn.c,在hack_dfn.c的末尾添加#endif语句,然后在创建dfn.c之后让Makefile将hack_dfn.c复制到dfn.c,编译过程。下面是输出的,而不到dfn.c文件所做的任何修复的最后一位,包括我收到的错误:libpng版本1.5.14丢失endif
Running tests. For details see pngtest-log.txt
Running test-pngtest.sh
PASS: pngtest --strict pngtest.png
PASS: test-pngtest.sh
Running test-pngvalid-simple.sh
PASS: pngvalid --standard
PASS: pngvalid --standard --progressive-read
PASS: pngvalid --standard --interlace
PASS: pngvalid --standard --progressive-read --interlace
PASS: pngvalid --size
PASS: pngvalid --size --progressive-read
PASS: pngvalid --transform
PASS: test-pngvalid-simple.sh
Running test-pngvalid-full.sh
PASS: pngvalid --gamma-threshold
PASS: pngvalid --gamma-transform
PASS: pngvalid --gamma-sbit
PASS: pngvalid --gamma-16-to-8
PASS: pngvalid --gamma-background
PASS: pngvalid --gamma-alpha-mode
PASS: pngvalid --gamma-transform --expand16
PASS: pngvalid --gamma-background --expand16
PASS: pngvalid --gamma-alpha-mode --expand16
PASS: test-pngvalid-full.sh
==================
All 3 tests passed
==================
make[1]: Leaving directory `/usr/local/libpng-1.5.14'
rm -f scripts/symbols.out dfn.c dfn?.out
test -d scripts || mkdir scripts
echo '#include "scripts/symbols.dfn"' >dfn.c
cc -E -DHAVE_CONFIG_H -I. -DPNG_CONFIGURE_LIBPNG\
-DPNGLIB_LIBNAME='PNG15_0' -DPNGLIB_VERSION='1.5.14' -DSYMBOL_PREFIX='' -DPNG_NO_USE_READ_MACROS -DPNG_BUILDING_SYMBOL_TABLE dfn.c > dfn1.out
PGC-S-0218-Missing #endif (dfn.c: 2)
PGC/x86-64 Linux 12.4-0: compilation completed with severe errors
make: *** [scripts/symbols.out] Error 2
我没有时间去通过3282,如果[N]高清语句检查每个都关闭。我希望在这里有更多libpng知识的人能够帮助我指导我到哪里开始寻找。奇怪的是,我能够在没有问题的情况下在另一个带有gcc的系统上编译这个相同版本的libpng。我希望避免在这个系统上使用gcc。