2013-01-31 60 views
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。

回答

1

也許你的C預處理通過的意見對#ENDIF語句存在,例如困惑,

#endif /* PNG_READ_SUPPORTED */ 
相關問題