編譯安裝 zbar 時兩次 make 帶來的驚喜

来源:http://www.cnblogs.com/mingc/archive/2017/12/02/7945733.html
-Advertisement-
Play Games

為了裝 php 的條形碼擴展模塊 php-zbarcode,先裝了一天的 ImageMagick 和 zbar。也許和我裝的 Ubuntu 17.10 的有版本相容問題吧,總之什麼毛病都有,apt 不行,PPA 源也不行,編譯安裝還有幾處源代碼出錯,裝不上~ 折騰了大半天之後終於把 ImageMag ...


為了裝 php 的條形碼擴展模塊 php-zbarcode,先裝了一天的 ImageMagick 和 zbar。也許和我裝的 Ubuntu 17.10 的有版本相容問題吧,總之什麼毛病都有,apt 不行,PPA 源也不行,編譯安裝還有幾處源代碼出錯,裝不上~

折騰了大半天之後終於把 ImageMagick 編譯安裝好了~~而在編譯安裝 zbar 的時候,值得微笑的事就來了。參考了網上的很多資料,解決了大多問題,比較重要的是在 zbar 執行 ./configure 配置的時候會找不到 ./wand/ 目錄下的頭文件,加兩個軟鏈接指向本地庫就可以

sudo ln -s /usr/local/include/ImageMagick-7 /usr/local/include/ImageMagick
sudo ln -s /usr/local/include/ImageMagick-7/MagickWand /usr/local/include/wand

最後剩下一個,就是在 make 編譯的時候始終報錯,錯的地方有點多~~

mingc@mingc-GE60-2PL:~/Downloads/qrcode/zbar-0.10$ make
make  all-am
make[1]: Entering directory '/home/mingc/Downloads/qrcode/zbar-0.10'
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/zbar_libzbar_la-config.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-config.Tpo -c -o zbar/zbar_libzbar_la-config.lo `test -f 'zbar/config.c' || echo './'`zbar/config.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-config.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-config.Tpo -c zbar/config.c  -fPIC -DPIC -o zbar/.libs/zbar_libzbar_la-config.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-config.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-config.Tpo -c zbar/config.c -o zbar/zbar_libzbar_la-config.o >/dev/null 2>&1
mv -f zbar/.deps/zbar_libzbar_la-config.Tpo zbar/.deps/zbar_libzbar_la-config.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/zbar_libzbar_la-error.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-error.Tpo -c -o zbar/zbar_libzbar_la-error.lo `test -f 'zbar/error.c' || echo './'`zbar/error.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-error.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-error.Tpo -c zbar/error.c  -fPIC -DPIC -o zbar/.libs/zbar_libzbar_la-error.o
zbar/error.c:39:19: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
 static const char const * err_str[] = {
                   ^~~~~
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-error.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-error.Tpo -c zbar/error.c -o zbar/zbar_libzbar_la-error.o >/dev/null 2>&1
mv -f zbar/.deps/zbar_libzbar_la-error.Tpo zbar/.deps/zbar_libzbar_la-error.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/zbar_libzbar_la-symbol.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-symbol.Tpo -c -o zbar/zbar_libzbar_la-symbol.lo `test -f 'zbar/symbol.c' || echo './'`zbar/symbol.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-symbol.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-symbol.Tpo -c zbar/symbol.c  -fPIC -DPIC -o zbar/.libs/zbar_libzbar_la-symbol.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-symbol.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-symbol.Tpo -c zbar/symbol.c -o zbar/zbar_libzbar_la-symbol.o >/dev/null 2>&1
mv -f zbar/.deps/zbar_libzbar_la-symbol.Tpo zbar/.deps/zbar_libzbar_la-symbol.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/zbar_libzbar_la-image.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-image.Tpo -c -o zbar/zbar_libzbar_la-image.lo `test -f 'zbar/image.c' || echo './'`zbar/image.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-image.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-image.Tpo -c zbar/image.c  -fPIC -DPIC -o zbar/.libs/zbar_libzbar_la-image.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-image.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-image.Tpo -c zbar/image.c -o zbar/zbar_libzbar_la-image.o >/dev/null 2>&1
mv -f zbar/.deps/zbar_libzbar_la-image.Tpo zbar/.deps/zbar_libzbar_la-image.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/zbar_libzbar_la-convert.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-convert.Tpo -c -o zbar/zbar_libzbar_la-convert.lo `test -f 'zbar/convert.c' || echo './'`zbar/convert.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-convert.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-convert.Tpo -c zbar/convert.c  -fPIC -DPIC -o zbar/.libs/zbar_libzbar_la-convert.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-convert.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-convert.Tpo -c zbar/convert.c -o zbar/zbar_libzbar_la-convert.o >/dev/null 2>&1
mv -f zbar/.deps/zbar_libzbar_la-convert.Tpo zbar/.deps/zbar_libzbar_la-convert.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/zbar_libzbar_la-processor.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-processor.Tpo -c -o zbar/zbar_libzbar_la-processor.lo `test -f 'zbar/processor.c' || echo './'`zbar/processor.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-processor.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-processor.Tpo -c zbar/processor.c  -fPIC -DPIC -o zbar/.libs/zbar_libzbar_la-processor.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-processor.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-processor.Tpo -c zbar/processor.c -o zbar/zbar_libzbar_la-processor.o >/dev/null 2>&1
mv -f zbar/.deps/zbar_libzbar_la-processor.Tpo zbar/.deps/zbar_libzbar_la-processor.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/processor/zbar_libzbar_la-lock.lo -MD -MP -MF zbar/processor/.deps/zbar_libzbar_la-lock.Tpo -c -o zbar/processor/zbar_libzbar_la-lock.lo `test -f 'zbar/processor/lock.c' || echo './'`zbar/processor/lock.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/processor/zbar_libzbar_la-lock.lo -MD -MP -MF zbar/processor/.deps/zbar_libzbar_la-lock.Tpo -c zbar/processor/lock.c  -fPIC -DPIC -o zbar/processor/.libs/zbar_libzbar_la-lock.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/processor/zbar_libzbar_la-lock.lo -MD -MP -MF zbar/processor/.deps/zbar_libzbar_la-lock.Tpo -c zbar/processor/lock.c -o zbar/processor/zbar_libzbar_la-lock.o >/dev/null 2>&1
mv -f zbar/processor/.deps/zbar_libzbar_la-lock.Tpo zbar/processor/.deps/zbar_libzbar_la-lock.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/zbar_libzbar_la-refcnt.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-refcnt.Tpo -c -o zbar/zbar_libzbar_la-refcnt.lo `test -f 'zbar/refcnt.c' || echo './'`zbar/refcnt.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-refcnt.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-refcnt.Tpo -c zbar/refcnt.c  -fPIC -DPIC -o zbar/.libs/zbar_libzbar_la-refcnt.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-refcnt.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-refcnt.Tpo -c zbar/refcnt.c -o zbar/zbar_libzbar_la-refcnt.o >/dev/null 2>&1
mv -f zbar/.deps/zbar_libzbar_la-refcnt.Tpo zbar/.deps/zbar_libzbar_la-refcnt.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/zbar_libzbar_la-window.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-window.Tpo -c -o zbar/zbar_libzbar_la-window.lo `test -f 'zbar/window.c' || echo './'`zbar/window.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-window.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-window.Tpo -c zbar/window.c  -fPIC -DPIC -o zbar/.libs/zbar_libzbar_la-window.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-window.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-window.Tpo -c zbar/window.c -o zbar/zbar_libzbar_la-window.o >/dev/null 2>&1
mv -f zbar/.deps/zbar_libzbar_la-window.Tpo zbar/.deps/zbar_libzbar_la-window.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/zbar_libzbar_la-video.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-video.Tpo -c -o zbar/zbar_libzbar_la-video.lo `test -f 'zbar/video.c' || echo './'`zbar/video.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-video.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-video.Tpo -c zbar/video.c  -fPIC -DPIC -o zbar/.libs/zbar_libzbar_la-video.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-video.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-video.Tpo -c zbar/video.c -o zbar/zbar_libzbar_la-video.o >/dev/null 2>&1
mv -f zbar/.deps/zbar_libzbar_la-video.Tpo zbar/.deps/zbar_libzbar_la-video.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/zbar_libzbar_la-img_scanner.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-img_scanner.Tpo -c -o zbar/zbar_libzbar_la-img_scanner.lo `test -f 'zbar/img_scanner.c' || echo './'`zbar/img_scanner.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-img_scanner.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-img_scanner.Tpo -c zbar/img_scanner.c  -fPIC -DPIC -o zbar/.libs/zbar_libzbar_la-img_scanner.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-img_scanner.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-img_scanner.Tpo -c zbar/img_scanner.c -o zbar/zbar_libzbar_la-img_scanner.o >/dev/null 2>&1
mv -f zbar/.deps/zbar_libzbar_la-img_scanner.Tpo zbar/.deps/zbar_libzbar_la-img_scanner.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/zbar_libzbar_la-scanner.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-scanner.Tpo -c -o zbar/zbar_libzbar_la-scanner.lo `test -f 'zbar/scanner.c' || echo './'`zbar/scanner.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-scanner.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-scanner.Tpo -c zbar/scanner.c  -fPIC -DPIC -o zbar/.libs/zbar_libzbar_la-scanner.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-scanner.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-scanner.Tpo -c zbar/scanner.c -o zbar/zbar_libzbar_la-scanner.o >/dev/null 2>&1
mv -f zbar/.deps/zbar_libzbar_la-scanner.Tpo zbar/.deps/zbar_libzbar_la-scanner.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/zbar_libzbar_la-decoder.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-decoder.Tpo -c -o zbar/zbar_libzbar_la-decoder.lo `test -f 'zbar/decoder.c' || echo './'`zbar/decoder.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-decoder.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-decoder.Tpo -c zbar/decoder.c  -fPIC -DPIC -o zbar/.libs/zbar_libzbar_la-decoder.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-decoder.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-decoder.Tpo -c zbar/decoder.c -o zbar/zbar_libzbar_la-decoder.o >/dev/null 2>&1
mv -f zbar/.deps/zbar_libzbar_la-decoder.Tpo zbar/.deps/zbar_libzbar_la-decoder.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/decoder/zbar_libzbar_la-ean.lo -MD -MP -MF zbar/decoder/.deps/zbar_libzbar_la-ean.Tpo -c -o zbar/decoder/zbar_libzbar_la-ean.lo `test -f 'zbar/decoder/ean.c' || echo './'`zbar/decoder/ean.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/decoder/zbar_libzbar_la-ean.lo -MD -MP -MF zbar/decoder/.deps/zbar_libzbar_la-ean.Tpo -c zbar/decoder/ean.c  -fPIC -DPIC -o zbar/decoder/.libs/zbar_libzbar_la-ean.o
zbar/decoder/ean.c: In function ‘ean_part_end4’:
zbar/decoder/ean.c:245:13: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
     if(!par == fwd) {
             ^~
zbar/decoder/ean.c:245:8: note: add parentheses around left hand side expression to silence this warning
     if(!par == fwd) {
        ^~~~
        (   )
zbar/decoder/ean.c: In function ‘ean_part_end7’:
zbar/decoder/ean.c:294:13: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
     if(!par == fwd) {
             ^~
zbar/decoder/ean.c:294:8: note: add parentheses around left hand side expression to silence this warning
     if(!par == fwd) {
        ^~~~
        (   )
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/decoder/zbar_libzbar_la-ean.lo -MD -MP -MF zbar/decoder/.deps/zbar_libzbar_la-ean.Tpo -c zbar/decoder/ean.c -o zbar/decoder/zbar_libzbar_la-ean.o >/dev/null 2>&1
mv -f zbar/decoder/.deps/zbar_libzbar_la-ean.Tpo zbar/decoder/.deps/zbar_libzbar_la-ean.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/decoder/zbar_libzbar_la-code128.lo -MD -MP -MF zbar/decoder/.deps/zbar_libzbar_la-code128.Tpo -c -o zbar/decoder/zbar_libzbar_la-code128.lo `test -f 'zbar/decoder/code128.c' || echo './'`zbar/decoder/code128.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/decoder/zbar_libzbar_la-code128.lo -MD -MP -MF zbar/decoder/.deps/zbar_libzbar_la-code128.Tpo -c zbar/decoder/code128.c  -fPIC -DPIC -o zbar/decoder/.libs/zbar_libzbar_la-code128.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/decoder/zbar_libzbar_la-code128.lo -MD -MP -MF zbar/decoder/.deps/zbar_libzbar_la-code128.Tpo -c zbar/decoder/code128.c -o zbar/decoder/zbar_libzbar_la-code128.o >/dev/null 2>&1
mv -f zbar/decoder/.deps/zbar_libzbar_la-code128.Tpo zbar/decoder/.deps/zbar_libzbar_la-code128.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/decoder/zbar_libzbar_la-code39.lo -MD -MP -MF zbar/decoder/.deps/zbar_libzbar_la-code39.Tpo -c -o zbar/decoder/zbar_libzbar_la-code39.lo `test -f 'zbar/decoder/code39.c' || echo './'`zbar/decoder/code39.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/decoder/zbar_libzbar_la-code39.lo -MD -MP -MF zbar/decoder/.deps/zbar_libzbar_la-code39.Tpo -c zbar/decoder/code39.c  -fPIC -DPIC -o zbar/decoder/.libs/zbar_libzbar_la-code39.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/decoder/zbar_libzbar_la-code39.lo -MD -MP -MF zbar/decoder/.deps/zbar_libzbar_la-code39.Tpo -c zbar/decoder/code39.c -o zbar/decoder/zbar_libzbar_la-code39.o >/dev/null 2>&1
mv -f zbar/decoder/.deps/zbar_libzbar_la-code39.Tpo zbar/decoder/.deps/zbar_libzbar_la-code39.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/decoder/zbar_libzbar_la-i25.lo -MD -MP -MF zbar/decoder/.deps/zbar_libzbar_la-i25.Tpo -c -o zbar/decoder/zbar_libzbar_la-i25.lo `test -f 'zbar/decoder/i25.c' || echo './'`zbar/decoder/i25.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/decoder/zbar_libzbar_la-i25.lo -MD -MP -MF zbar/decoder/.deps/zbar_libzbar_la-i25.Tpo -c zbar/decoder/i25.c  -fPIC -DPIC -o zbar/decoder/.libs/zbar_libzbar_la-i25.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/decoder/zbar_libzbar_la-i25.lo -MD -MP -MF zbar/decoder/.deps/zbar_libzbar_la-i25.Tpo -c zbar/decoder/i25.c -o zbar/decoder/zbar_libzbar_la-i25.o >/dev/null 2>&1
mv -f zbar/decoder/.deps/zbar_libzbar_la-i25.Tpo zbar/decoder/.deps/zbar_libzbar_la-i25.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/decoder/zbar_libzbar_la-qr_finder.lo -MD -MP -MF zbar/decoder/.deps/zbar_libzbar_la-qr_finder.Tpo -c -o zbar/decoder/zbar_libzbar_la-qr_finder.lo `test -f 'zbar/decoder/qr_finder.c' || echo './'`zbar/decoder/qr_finder.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/decoder/zbar_libzbar_la-qr_finder.lo -MD -MP -MF zbar/decoder/.deps/zbar_libzbar_la-qr_finder.Tpo -c zbar/decoder/qr_finder.c  -fPIC -DPIC -o zbar/decoder/.libs/zbar_libzbar_la-qr_finder.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/decoder/zbar_libzbar_la-qr_finder.lo -MD -MP -MF zbar/decoder/.deps/zbar_libzbar_la-qr_finder.Tpo -c zbar/decoder/qr_finder.c -o zbar/decoder/zbar_libzbar_la-qr_finder.o >/dev/null 2>&1
mv -f zbar/decoder/.deps/zbar_libzbar_la-qr_finder.Tpo zbar/decoder/.deps/zbar_libzbar_la-qr_finder.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/qrcode/zbar_libzbar_la-qrdec.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-qrdec.Tpo -c -o zbar/qrcode/zbar_libzbar_la-qrdec.lo `test -f 'zbar/qrcode/qrdec.c' || echo './'`zbar/qrcode/qrdec.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/qrcode/zbar_libzbar_la-qrdec.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-qrdec.Tpo -c zbar/qrcode/qrdec.c  -fPIC -DPIC -o zbar/qrcode/.libs/zbar_libzbar_la-qrdec.o
zbar/qrcode/qrdec.c: In function ‘qr_finder_quick_crossing_check’:
zbar/qrcode/qrdec.c:1215:27: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
   if(!_img[_y0*_width+_x0]!=_v||!_img[_y1*_width+_x1]!=_v)return 1;
                           ^~
zbar/qrcode/qrdec.c:1215:6: note: add parentheses around left hand side expression to silence this warning
   if(!_img[_y0*_width+_x0]!=_v||!_img[_y1*_width+_x1]!=_v)return 1;
      ^~~~~~~~~~~~~~~~~~~~~
      (                    )
zbar/qrcode/qrdec.c:1215:54: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
   if(!_img[_y0*_width+_x0]!=_v||!_img[_y1*_width+_x1]!=_v)return 1;
                                                      ^~
zbar/qrcode/qrdec.c:1215:33: note: add parentheses around left hand side expression to silence this warning
   if(!_img[_y0*_width+_x0]!=_v||!_img[_y1*_width+_x1]!=_v)return 1;
                                 ^~~~~~~~~~~~~~~~~~~~~
                                 (                    )
zbar/qrcode/qrdec.c:1216:45: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
   if(!_img[(_y0+_y1>>1)*_width+(_x0+_x1>>1)]==_v)return -1;
                                             ^~
zbar/qrcode/qrdec.c:1216:6: note: add parentheses around left hand side expression to silence this warning
   if(!_img[(_y0+_y1>>1)*_width+(_x0+_x1>>1)]==_v)return -1;
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      (                                      )
zbar/qrcode/qrdec.c: In function ‘qr_finder_locate_crossing’:
zbar/qrcode/qrdec.c:1257:33: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
     if(!_img[x0[1]*_width+x0[0]]!=_v)break;
                                 ^~
zbar/qrcode/qrdec.c:1257:8: note: add parentheses around left hand side expression to silence this warning
     if(!_img[x0[1]*_width+x0[0]]!=_v)break;
        ^~~~~~~~~~~~~~~~~~~~~~~~~
        (                        )
zbar/qrcode/qrdec.c:1269:33: warning: logical not is only applied to the left hand side of comparison [-Wlogical-not-parentheses]
     if(!_img[x1[1]*_width+x1[0]]!=_v)break;
                                 ^~
zbar/qrcode/qrdec.c:1269:8: note: add parentheses around left hand side expression to silence this warning
     if(!_img[x1[1]*_width+x1[0]]!=_v)break;
        ^~~~~~~~~~~~~~~~~~~~~~~~~
        (                        )
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/qrcode/zbar_libzbar_la-qrdec.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-qrdec.Tpo -c zbar/qrcode/qrdec.c -o zbar/qrcode/zbar_libzbar_la-qrdec.o >/dev/null 2>&1
mv -f zbar/qrcode/.deps/zbar_libzbar_la-qrdec.Tpo zbar/qrcode/.deps/zbar_libzbar_la-qrdec.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/qrcode/zbar_libzbar_la-qrdectxt.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-qrdectxt.Tpo -c -o zbar/qrcode/zbar_libzbar_la-qrdectxt.lo `test -f 'zbar/qrcode/qrdectxt.c' || echo './'`zbar/qrcode/qrdectxt.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/qrcode/zbar_libzbar_la-qrdectxt.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-qrdectxt.Tpo -c zbar/qrcode/qrdectxt.c  -fPIC -DPIC -o zbar/qrcode/.libs/zbar_libzbar_la-qrdectxt.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/qrcode/zbar_libzbar_la-qrdectxt.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-qrdectxt.Tpo -c zbar/qrcode/qrdectxt.c -o zbar/qrcode/zbar_libzbar_la-qrdectxt.o >/dev/null 2>&1
mv -f zbar/qrcode/.deps/zbar_libzbar_la-qrdectxt.Tpo zbar/qrcode/.deps/zbar_libzbar_la-qrdectxt.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/qrcode/zbar_libzbar_la-rs.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-rs.Tpo -c -o zbar/qrcode/zbar_libzbar_la-rs.lo `test -f 'zbar/qrcode/rs.c' || echo './'`zbar/qrcode/rs.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/qrcode/zbar_libzbar_la-rs.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-rs.Tpo -c zbar/qrcode/rs.c  -fPIC -DPIC -o zbar/qrcode/.libs/zbar_libzbar_la-rs.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/qrcode/zbar_libzbar_la-rs.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-rs.Tpo -c zbar/qrcode/rs.c -o zbar/qrcode/zbar_libzbar_la-rs.o >/dev/null 2>&1
mv -f zbar/qrcode/.deps/zbar_libzbar_la-rs.Tpo zbar/qrcode/.deps/zbar_libzbar_la-rs.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/qrcode/zbar_libzbar_la-isaac.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-isaac.Tpo -c -o zbar/qrcode/zbar_libzbar_la-isaac.lo `test -f 'zbar/qrcode/isaac.c' || echo './'`zbar/qrcode/isaac.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/qrcode/zbar_libzbar_la-isaac.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-isaac.Tpo -c zbar/qrcode/isaac.c  -fPIC -DPIC -o zbar/qrcode/.libs/zbar_libzbar_la-isaac.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/qrcode/zbar_libzbar_la-isaac.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-isaac.Tpo -c zbar/qrcode/isaac.c -o zbar/qrcode/zbar_libzbar_la-isaac.o >/dev/null 2>&1
mv -f zbar/qrcode/.deps/zbar_libzbar_la-isaac.Tpo zbar/qrcode/.deps/zbar_libzbar_la-isaac.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/qrcode/zbar_libzbar_la-bch15_5.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-bch15_5.Tpo -c -o zbar/qrcode/zbar_libzbar_la-bch15_5.lo `test -f 'zbar/qrcode/bch15_5.c' || echo './'`zbar/qrcode/bch15_5.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/qrcode/zbar_libzbar_la-bch15_5.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-bch15_5.Tpo -c zbar/qrcode/bch15_5.c  -fPIC -DPIC -o zbar/qrcode/.libs/zbar_libzbar_la-bch15_5.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/qrcode/zbar_libzbar_la-bch15_5.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-bch15_5.Tpo -c zbar/qrcode/bch15_5.c -o zbar/qrcode/zbar_libzbar_la-bch15_5.o >/dev/null 2>&1
mv -f zbar/qrcode/.deps/zbar_libzbar_la-bch15_5.Tpo zbar/qrcode/.deps/zbar_libzbar_la-bch15_5.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/qrcode/zbar_libzbar_la-binarize.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-binarize.Tpo -c -o zbar/qrcode/zbar_libzbar_la-binarize.lo `test -f 'zbar/qrcode/binarize.c' || echo './'`zbar/qrcode/binarize.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/qrcode/zbar_libzbar_la-binarize.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-binarize.Tpo -c zbar/qrcode/binarize.c  -fPIC -DPIC -o zbar/qrcode/.libs/zbar_libzbar_la-binarize.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/qrcode/zbar_libzbar_la-binarize.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-binarize.Tpo -c zbar/qrcode/binarize.c -o zbar/qrcode/zbar_libzbar_la-binarize.o >/dev/null 2>&1
mv -f zbar/qrcode/.deps/zbar_libzbar_la-binarize.Tpo zbar/qrcode/.deps/zbar_libzbar_la-binarize.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/qrcode/zbar_libzbar_la-util.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-util.Tpo -c -o zbar/qrcode/zbar_libzbar_la-util.lo `test -f 'zbar/qrcode/util.c' || echo './'`zbar/qrcode/util.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/qrcode/zbar_libzbar_la-util.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-util.Tpo -c zbar/qrcode/util.c  -fPIC -DPIC -o zbar/qrcode/.libs/zbar_libzbar_la-util.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/qrcode/zbar_libzbar_la-util.lo -MD -MP -MF zbar/qrcode/.deps/zbar_libzbar_la-util.Tpo -c zbar/qrcode/util.c -o zbar/qrcode/zbar_libzbar_la-util.o >/dev/null 2>&1
mv -f zbar/qrcode/.deps/zbar_libzbar_la-util.Tpo zbar/qrcode/.deps/zbar_libzbar_la-util.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/processor/zbar_libzbar_la-posix.lo -MD -MP -MF zbar/processor/.deps/zbar_libzbar_la-posix.Tpo -c -o zbar/processor/zbar_libzbar_la-posix.lo `test -f 'zbar/processor/posix.c' || echo './'`zbar/processor/posix.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/processor/zbar_libzbar_la-posix.lo -MD -MP -MF zbar/processor/.deps/zbar_libzbar_la-posix.Tpo -c zbar/processor/posix.c  -fPIC -DPIC -o zbar/processor/.libs/zbar_libzbar_la-posix.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/processor/zbar_libzbar_la-posix.lo -MD -MP -MF zbar/processor/.deps/zbar_libzbar_la-posix.Tpo -c zbar/processor/posix.c -o zbar/processor/zbar_libzbar_la-posix.o >/dev/null 2>&1
mv -f zbar/processor/.deps/zbar_libzbar_la-posix.Tpo zbar/processor/.deps/zbar_libzbar_la-posix.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/video/zbar_libzbar_la-null.lo -MD -MP -MF zbar/video/.deps/zbar_libzbar_la-null.Tpo -c -o zbar/video/zbar_libzbar_la-null.lo `test -f 'zbar/video/null.c' || echo './'`zbar/video/null.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/video/zbar_libzbar_la-null.lo -MD -MP -MF zbar/video/.deps/zbar_libzbar_la-null.Tpo -c zbar/video/null.c  -fPIC -DPIC -o zbar/video/.libs/zbar_libzbar_la-null.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/video/zbar_libzbar_la-null.lo -MD -MP -MF zbar/video/.deps/zbar_libzbar_la-null.Tpo -c zbar/video/null.c -o zbar/video/zbar_libzbar_la-null.o >/dev/null 2>&1
mv -f zbar/video/.deps/zbar_libzbar_la-null.Tpo zbar/video/.deps/zbar_libzbar_la-null.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/zbar_libzbar_la-jpeg.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-jpeg.Tpo -c -o zbar/zbar_libzbar_la-jpeg.lo `test -f 'zbar/jpeg.c' || echo './'`zbar/jpeg.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-jpeg.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-jpeg.Tpo -c zbar/jpeg.c  -fPIC -DPIC -o zbar/.libs/zbar_libzbar_la-jpeg.o
zbar/jpeg.c: In function ‘_zbar_convert_jpeg_to_y’:
zbar/jpeg.c:174:39: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types]
         cinfo->src->fill_input_buffer = fill_input_buffer;
                                       ^
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/zbar_libzbar_la-jpeg.lo -MD -MP -MF zbar/.deps/zbar_libzbar_la-jpeg.Tpo -c zbar/jpeg.c -o zbar/zbar_libzbar_la-jpeg.o >/dev/null 2>&1
mv -f zbar/.deps/zbar_libzbar_la-jpeg.Tpo zbar/.deps/zbar_libzbar_la-jpeg.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/processor/zbar_libzbar_la-x.lo -MD -MP -MF zbar/processor/.deps/zbar_libzbar_la-x.Tpo -c -o zbar/processor/zbar_libzbar_la-x.lo `test -f 'zbar/processor/x.c' || echo './'`zbar/processor/x.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/processor/zbar_libzbar_la-x.lo -MD -MP -MF zbar/processor/.deps/zbar_libzbar_la-x.Tpo -c zbar/processor/x.c  -fPIC -DPIC -o zbar/processor/.libs/zbar_libzbar_la-x.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/processor/zbar_libzbar_la-x.lo -MD -MP -MF zbar/processor/.deps/zbar_libzbar_la-x.Tpo -c zbar/processor/x.c -o zbar/processor/zbar_libzbar_la-x.o >/dev/null 2>&1
mv -f zbar/processor/.deps/zbar_libzbar_la-x.Tpo zbar/processor/.deps/zbar_libzbar_la-x.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/window/zbar_libzbar_la-x.lo -MD -MP -MF zbar/window/.deps/zbar_libzbar_la-x.Tpo -c -o zbar/window/zbar_libzbar_la-x.lo `test -f 'zbar/window/x.c' || echo './'`zbar/window/x.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/window/zbar_libzbar_la-x.lo -MD -MP -MF zbar/window/.deps/zbar_libzbar_la-x.Tpo -c zbar/window/x.c  -fPIC -DPIC -o zbar/window/.libs/zbar_libzbar_la-x.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/window/zbar_libzbar_la-x.lo -MD -MP -MF zbar/window/.deps/zbar_libzbar_la-x.Tpo -c zbar/window/x.c -o zbar/window/zbar_libzbar_la-x.o >/dev/null 2>&1
mv -f zbar/window/.deps/zbar_libzbar_la-x.Tpo zbar/window/.deps/zbar_libzbar_la-x.Plo
/bin/bash ./libtool --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I. -I./include  -I./zbar -I./include    -Wall -Wno-parentheses  -MT zbar/window/zbar_libzbar_la-ximage.lo -MD -MP -MF zbar/window/.deps/zbar_libzbar_la-ximage.Tpo -c -o zbar/window/zbar_libzbar_la-ximage.lo `test -f 'zbar/window/ximage.c' || echo './'`zbar/window/ximage.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/window/zbar_libzbar_la-ximage.lo -MD -MP -MF zbar/window/.deps/zbar_libzbar_la-ximage.Tpo -c zbar/window/ximage.c  -fPIC -DPIC -o zbar/window/.libs/zbar_libzbar_la-ximage.o
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I./include -I./zbar -I./include -Wall -Wno-parentheses -MT zbar/window/zbar_libzbar_la-ximage.lo -MD -MP -MF zbar/window/.deps/zbar_libzbar_la-ximage.Tpo -c zbar/window/ximage.c -o zbar/window/zbar_libzbar_la-ximage.o >/dev/null 2>&1
mv -f zbar/window/.deps/zbar_libzbar_la-ximage.Tpo zbar/window/.deps/zbar_libzbar_la-ximage.Plo
/bin/bash ./libtool --tag=CC   --mode=link gcc -Wall -Wno-parentheses  -no-undefined -version-info 2:0:2 -export-symbols-regex "^(zbar|_zbar.*_error)_.*"      -o zbar/libzbar.la -rpath /usr/local/lib zbar/zbar_libzbar_la-config.lo zbar/zbar_libzbar_la-error.lo zbar/zbar_libzbar_la-symbol.lo zbar/zbar_libzbar_la-image.lo zbar/zbar_libzbar_la-convert.lo zbar/zbar_libzbar_la-processor.lo zbar/processor/zbar_libzbar_la-lock.lo zbar/zbar_libzbar_la-refcnt.lo zbar/zbar_libzbar_la-window.lo zbar/zbar_libzbar_la-video.lo zbar/zbar_libzbar_la-img_scanner.lo zbar/zbar_libzbar_la-scanner.lo zbar/zbar_libzbar_la-decoder.lo zbar/decoder/zbar_libzbar_la-ean.lo zbar/decoder/zbar_libzbar_la-code128.lo zbar/decoder/zbar_libzbar_la-code39.lo zbar/decoder/zbar_libzbar_la-i25.lo  zbar/decoder/zbar_libzbar_la-qr_finder.lo zbar/qrcode/zbar_libzbar_la-qrdec.lo zbar/qrcode/zbar_libzbar_la-qrdectxt.lo zbar/qrcode/zbar_libzbar_la-rs.lo zbar/qrcode/zbar_libzbar_la-isaac.lo zbar/qrcode/zbar_libzbar_la-bch15_5.lo zbar/qrcode/zbar_libzbar_la-binarize.lo zbar/qrcode/zbar_libzbar_la-util.lo  zbar/processor/zbar_libzbar_la-posix.lo    zbar/video/zbar_libzbar_la-null.lo zbar/zbar_libzbar_la-jpeg.lo zbar/processor/zbar_libzbar_la-x.lo zbar/window/zbar_libzbar_la-x.lo zbar/window/zbar_libzbar_la-ximage.lo       -lSM -lICE -lX11     -ljpeg -lpthread 
libtool: link: /usr/bin/nm -B  zbar/.libs/zbar_libzbar_la-config.o zbar/.libs/zbar_libzbar_la-error.o zbar/.libs/zbar_libzbar_la-symbol.o zbar/.libs/zbar_libzbar_la-image.o zbar/.libs/zbar_libzbar_la-convert.o zbar/.libs/zbar_libzbar_la-processor.o zbar/processor/.libs/zbar_libzbar_la-lock.o zbar/.libs/zbar_libzbar_la-refcnt.o zbar/.libs/zbar_libzbar_la-window.o zbar/.libs/zbar_libzbar_la-video.o zbar/.libs/zbar_libzbar_la-img_scanner.o zbar/.libs/zbar_libzbar_la-scanner.o zbar/.libs/zbar_libzbar_la-decoder.o zbar/decoder/.libs/zbar_libzbar_la-ean.o zbar/decoder/.libs/zbar_libzbar_la-code128.o zbar/decoder/.libs/zbar_libzbar_la-code39.o zbar/decoder/.libs/zbar_libzbar_la-i25.o zbar/decoder/.libs/zbar_libzbar_la-qr_finder.o zbar/qrcode/.libs/zbar_libzbar_la-qrdec.o zbar/qrcode/.libs/zbar_libzbar_la-qrdectxt.o zbar/qrcode/.libs/zbar_libzbar_la-rs.o zbar/qrcode/.libs/zbar_libzbar_la-isaac.o zbar/qrcode/.libs/zbar_libzbar_la-bch15_5.o zbar/qrcode/.libs/zbar_libzbar_la-binarize.o zbar/qrcode/.libs/zbar_libzbar_la-util.o zbar/processor/.libs/zbar_libzbar_la-posix.o zbar/video/.libs/zbar_libzbar_la-null.o zbar/.libs/zbar_libzbar_la-jpeg.o zbar/processor/.libs/zbar_libzbar_la-x.o zbar/window/.libs/zbar_libzbar_la-x.o zbar/window/.libs/zbar_libzbar_la-ximage.o   | sed -n -e 's/^.*[	 ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[	 ][	 ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | /bin/sed 's/.* //' | sort | uniq > zbar/.libs/libzbar.exp
libtool: link: /bin/grep -E -e "^(zbar|_zbar.*_error)_.*" "zbar/.libs/libzbar.exp" > "zbar/.libs/libzbar.expT"
libtool: link: mv -f "zbar/.libs/libzbar.expT" "zbar/.libs/libzbar.exp"
libtool: link: echo "{ global:" > zbar/.libs/libzbar.ver
libtool: link:  cat zbar/.libs/libzbar.exp | sed -e "s/\(.*\)/\1;/" >> zbar/.libs/libzbar.ver
libtool: link:  echo "local: *; };" >> zbar/.libs/libzbar.ver
libtool: link:  gcc -shared  zbar/.libs/zbar_libzbar_la-config.o zbar/.libs/zbar_libzbar_la-error.o zbar/.libs/zbar_libzbar_la-symbol.o zbar/.libs/zbar_libzbar_la-image.o zbar/.libs/zbar_libzbar_la-convert.o zbar/.libs/zbar_libzbar_la-processor.o zbar/processor/.libs/zbar_libzbar_la-lock.o zbar/.libs/zbar_libzbar_la-refcnt.o zbar/.libs/zbar_libzbar_la-window.o zbar/.libs/zbar_libzbar_la-video.o zbar/.libs/zbar_libzbar_la-img_scanner.o zbar/.libs/zbar_libzbar_la-scanner.o zbar/.libs/zbar_libzbar_la-decoder.o zbar/decoder/.libs/zbar_libzbar_la-ean.o zbar/decoder/.libs/zbar_libzbar_la-code128.o zbar/decoder/.libs/zbar_libzbar_la-code39.o zbar/decoder/.libs/zbar_libzbar_la-i25.o zbar/decoder/.libs/zbar_libzbar_la-qr_finder.o zbar/qrcode/.libs/zbar_libzbar_la-qrdec.o zbar/qrcode/.libs/zbar_libzbar_la-qrdectxt.o zbar/qrcode/.libs/zbar_libzbar_la-rs.o zbar/qrcode/.libs/zbar_libzbar_la-isaac.o zbar/qrcode/.libs/zbar_libzbar_la-bch15_5.o zbar/qrcode/.libs/zbar_libzbar_la-binarize.o zbar/qrcode/.libs/zbar_libzbar_la-util.o zbar/processor/.libs/zbar_libzbar_la-posix.o zbar/video/.libs/zbar_libzbar_la-null.o zbar/.libs/zbar_libzbar_la-jpeg.o zbar/processor/.libs/zbar_libzbar_la-x.o zbar/window/.libs/zbar_libzbar_la-x.o zbar/window/.libs/zbar_libzbar_la-ximage.o   -lSM -lICE -lX11 -ljpeg -lpthread    -Wl,-soname -Wl,libzbar.so.0 -Wl,-version-script -Wl,zbar/.libs/libzbar.ver -o zbar/.libs/libzbar.so.0.2.0
libtool: link: (cd "zbar/.libs" && rm -f "libzbar.so.0" && ln -s "libzbar.so.0.2.0" "libzbar.so.0")
libtool: link: (cd "zbar/.libs" && rm -f "libzbar.so" && ln -s "libzbar.so.0.2.0" "libzbar.so")
copying selected object files to avoid basename conflicts...
libtool: link: ln zbar/window/zbar_libzbar_la-x.o zbar/.libs/libzbar.lax/lt1-zbar_libzbar_la-x.o || cp zbar/window/zbar_libzbar_la-x.o zbar/.libs/libzbar.lax/lt1-zbar_libzbar_la-x.o
libtool: link: ar cru zbar/.libs/libzbar.a zbar/zbar_libzbar_la-config.o zbar/zbar_libzbar_la-error.o zbar/zbar_libzbar_la-symbol.o zbar/zbar_libzbar_la-image.o zbar/zbar_libzbar_la-convert.o zbar/zbar_libzbar_la-processor.o zbar/processor/zbar_libzbar_la-lock.o zbar/zbar_libzbar_la-refcnt.o zbar/zbar_libzbar_la-window.o zbar/zbar_libzbar_la-video.o zbar/zbar_libzbar_la-img_scanner.o zbar/zbar_libzbar_la-scanner.o zbar/zbar_libzbar_la-decoder.o zbar/decoder/zbar_libzbar_la-ean.o zbar/decoder/zbar_libzbar_la-code128.o zbar/decoder/zbar_libzbar_la-code39.o zbar/decoder/zbar_libzbar_la-i25.o zbar/decoder/zbar_libzbar_la-qr_finder.o zbar/qrcode/zbar_libzbar_la-qrdec.o zbar/qrcode/zbar_libzbar_la-qrdectxt.o zbar/qrcode/zbar_libzbar_la-rs.o zbar/qrcode/zbar_libzbar_la-isaac.o zbar/qrcode/zbar_libzbar_la-bch15_5.o zbar/qrcode/zbar_libzbar_la-binarize.o zbar/qrcode/zbar_libzbar_la-util.o zbar/processor/zbar_libzbar_la-posix.o zbar/video/zbar_libzbar_la-null.o zbar/zbar_libzbar_la-jpeg.o zbar/processor/zbar_libzbar_la-x.o zbar/.libs/libzbar.lax/lt1-zbar_libzbar_la-x.o zbar/window/zbar_libzbar_la-ximage.o
ar: `u' modifier ignored since `D' is the default (see `U')
libtool: link: ranlib zbar/.libs/libzbar.a
libtool: link: rm -fr zbar/.libs/libzbar.lax
libtool: link: ( cd "zbar/.libs" && rm -f "libzbar.la" && ln -s "../libzbar.la" "libzbar.la" )
gcc -DHAVE_CONFIG_H -I. -I./include  -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -fopenmp -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/local/include/ImageMagick-7 -I./include  -Wall -Wno-parentheses  -MT zbarimg/zbarimg_zbarimg-zbarimg.o -MD -MP -MF zbarimg/.deps/zbarimg_zbarimg-zbarimg.Tpo -c -o zbarimg/zbarimg_zbarimg-zbarimg.o `test -f 'zbarimg/zbarimg.c' || echo './'`zbarimg/zbarimg.c
mv -f zbarimg/.deps/zbarimg_zbarimg-zbarimg.Tpo zbarimg/.deps/zbarimg_zbarimg-zbarimg.Po
/bin/bash ./libtool --tag=CC   --mode=link gcc -Wall -Wno-parentheses    -o zbarimg/zbarimg zbarimg/zbarimg_zbarimg-zbarimg.o  -L/usr/local/lib -lMagickWand-7.Q16HDRI -lMagickCore-7.Q16HDRI zbar/libzbar.la  -ljpeg -lpthread 
libtool: link: gcc -Wall -Wno-parentheses -o zbarimg/.libs/zbarimg zbarimg/zbarimg_zbarimg-zbarimg.o  -L/usr/local/lib /usr/local/lib/libMagickWand-7.Q16HDRI.so /usr/local/lib/libMagickCore-7.Q16HDRI.so /usr/lib/x86_64-linux-gnu/libfreetype.so -lpng16 -lfontconfig -lXext -lpangocairo-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lcairo -lz -lm -lgomp zbar/.libs/libzbar.so -lSM -lICE -lX11 /usr/local/lib/libjpeg.so -lpthread -pthread -fopenmp
make[1]: Leaving directory '/home/mingc/Downloads/qrcode/zbar-0.10'

谷歌翻遍了,結果只有純文本格式的 log 日誌,這我還是第一次見到~~直到晚上,我放棄了谷歌。回到源頭,在嘗試改了幾處錯誤後,我懵了~~百思不得其姐,這搞不下去了。然後我清掉了整個編譯目錄,重新解了 zbar 的 tar.gz 包。重來。

執行了 ./configure,然後抱著撞大運的態度執行了 make。不出所料,還是那好長一串串的錯誤消息。心累……

我盯著屏幕發了會兒呆,手也不自覺地又敲了個 m、a、k、e,回車——

mingc@mingc-GE60-2PL:~/Downloads/qrcode/zbar-0.10$ make
make  all-am
make[1]: Entering directory '/home/mingc/Downloads/qrcode/zbar-0.10'
make[1]: Leaving directory '/home/mingc/Downloads/qrcode/zbar-0.10'

誒?這什麼?等等,好像不對……這是……好了?

趕快趁熱 make install!

mingc@mingc-GE60-2PL:~/Downloads/qrcode/zbar-0.10$ sudo make install
[sudo] mingc 的密碼: 
make  install-am
make[1]: Entering directory '/home/mingc/Downloads/qrcode/zbar-0.10'
make[2]: Entering directory '/home/mingc/Downloads/qrcode/zbar-0.10'
test -z "/usr/local/lib" || /bin/mkdir -p "/usr/local/lib"
 /bin/bash ./libtool   --mode=install /usr/bin/install -c  'zbar/libzbar.la' '/usr/local/lib/libzbar.la'
libtool: install: /usr/bin/install -c zbar/.libs/libzbar.so.0.2.0 /usr/local/lib/libzbar.so.0.2.0
libtool: install: (cd /usr/local/lib && { ln -s -f libzbar.so.0.2.0 libzbar.so.0 || { rm -f libzbar.so.0 && ln -s libzbar.so.0.2.0 libzbar.so.0; }; })
libtool: install: (cd /usr/local/lib && { ln -s -f libzbar.so.0.2.0 libzbar.so || { rm -f libzbar.so && ln -s libzbar.so.0.2.0 libzbar.so; }; })
libtool: install: /usr/bin/install -c zbar/.libs/libzbar.lai /usr/local/lib/libzbar.la
libtool: install: /usr/bin/install -c zbar/.libs/libzbar.a /usr/local/lib/libzbar.a
libtool: install: chmod 644 /usr/local/lib/libzbar.a
libtool: install: ranlib /usr/local/lib/libzbar.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /usr/local/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z "/usr/local/bin" || /bin/mkdir -p "/usr/local/bin"
  /bin/bash ./libtool   --mode=install /usr/bin/install -c 'zbarimg/zbarimg' '/usr/local/bin/zbarimg'
libtool: install: /usr/bin/install -c zbarimg/.libs/zbarimg /usr/local/bin/zbarimg
test -z "" || /bin/mkdir -p ""
test -z "/usr/local/share/doc/zbar" || /bin/mkdir -p "/usr/local/share/doc/zbar"
 /usr/bin/install -c -m 644 'COPYING' '/usr/local/share/doc/zbar/COPYING'
 /usr/bin/install -c -m 644 'HACKING' '/usr/local/share/doc/zbar/HACKING'
 /usr/bin/install -c -m 644 'INSTALL' '/usr/local/share/doc/zbar/INSTALL'
 /usr/bin/install -c -m 644 'LICENSE' '/usr/local/share/doc/zbar/LICENSE'
 /usr/bin/install -c -m 644 'NEWS' '/usr/local/share/doc/zbar/NEWS'
 /usr/bin/install -c -m 644 'README' '/usr/local/share/doc/zbar/README'
 /usr/bin/install -c -m 644 'TODO' '/usr/local/share/doc/zbar/TODO'
test -z "/usr/local/include" || /bin/mkdir -p "/usr/local/include"
 /usr/bin/install -c -m 644 'include/zbar.h' '/usr/local/include/zbar.h'
test -z "/usr/local/share/man/man1" || /bin/mkdir -p "/usr/local/share/man/man1"
 /usr/bin/install -c -m 644 'doc/man/zbarimg.1' '/usr/local/share/man/man1/zbarimg.1'
test -z "/usr/local/lib/pkgconfig" || /bin/mkdir -p "/usr/local/lib/pkgconfig"
 /usr/bin/install -c -m 644 'zbar.pc' '/usr/local/lib/pkgconfig/zbar.pc'
test -z "/usr/local/share/zbar" || /bin/mkdir -p "/usr/local/share/zbar"
test -z "/usr/local/include/zbar" || /bin/mkdir -p "/usr/local/include/zbar"
 /usr/bin/install -c -m 644 'include/zbar/Scanner.h' '/usr/local/include/zbar/Scanner.h'
 /usr/bin/install -c -m 644 'include/zbar/Decoder.h' '/usr/local/include/zbar/Decoder.h'
 /usr/bin/install -c -m 644 'include/zbar/Exception.h' '/usr/local/include/zbar/Exception.h'
 /usr/bin/install -c -m 644 'include/zbar/Symbol.h' '/usr/local/include/zbar/Symbol.h'
 /usr/bin/install -c -m 644 'include/zbar/Image.h' '/usr/local/include/zbar/Image.h'
 /usr/bin/install -c -m 644 'include/zbar/ImageScanner.h' '/usr/local/include/zbar/ImageScanner.h'
 /usr/bin/install -c -m 644 'include/zbar/Video.h' '/usr/local/include/zbar/Video.h'
 /usr/bin/install -c -m 644 'include/zbar/Window.h' '/usr/local/include/zbar/Window.h'
 /usr/bin/install -c -m 644 'include/zbar/Processor.h' '/usr/local/include/zbar/Processor.h'
make[2]: Leaving directory '/home/mingc/Downloads/qrcode/zbar-0.10'
make[1]: Leaving directory '/home/mingc/Downloads/qrcode/zbar-0.10'

這好像就裝上了,這麼棒。不行我還得檢查一下

mingc@mingc-GE60-2PL:~/Downloads/qrcode/zbar-0.10$ zbarimg --version
0.10

(⊙v⊙)嗯,用 zbar 的命令行介面 zbarimg ,試一下我剛做的二維碼電子名片

mingc@mingc-GE60-2PL:~/Downloads/qrcode/zbar-0.10$ zbarimg ~/Downloads/qrcode_vcard.png 
QR-Code:BEGIN:VCARD
VERSION:2.1
N:Jin;mingc
FN:mingc
ORG:free man
TITLE:PHPer
TEL;WORK;VOICE:1382173xxxx
TEL;HOME;VOICE:1383284xxxx
ADR;WORK;TianJin, China
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:TianJin, China(LABEL;WORK)
ADR;HOME;TianJin, China
LABEL;HOME;ENCODING=QUOTED-PRINTABLE:TianJin, China(LABEL;HOME)
EMAIL;PREF;INTERNET:[email protected]
REV:20171201T005548Z
END:VCARD
scanned 1 barcode symbols from 1 images in 0.02 seconds

完全可以。總之,裝上了。

不過這兩次 make 其中的道理還是不太明白的,就留待以後了,有時間再系統整理一下編譯時候的一些簡單原理,暫且這麼記下~

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 首先說一下背景,在雙十一的時候,我們系統接受X寶的訂單推送,同事原先的實現方式是使用redis的List作為推送數據的承載,在非大促的場景下, 一切運行正常,記憶體占用大概3-4G,機器是16G記憶體。由於提前預計不足,在雙十一來臨的時候,訂單瞬時量達到了平時的10X倍,記憶體非常吃緊,情況算 是非常緊急 ...
  • Redis 高可用集群 Redis 的集群主從模型是一種高可用的集群架構。本章主要內容有:高可用集群的搭建,Jedis連接集群,新增集群節點,刪除集群節點,其他配置補充說明。 高可用集群搭建 集群(cluster)技術是一種較新的技術,通過集群技術,可以在付出較低成本的情況下獲得在性能、可靠性、靈活 ...
  • 這兩天在MyEclipse中開發Web項目時,連接MYSQL資料庫,出現問題:Access denied for user 'root'@'localhost' (using password:YES)。 經查找資料發現是root帳戶預設不開放遠程訪問許可權,所以需要修改一下相關許可權。 解決方案: 打 ...
  • elasticsearch,IDEA,Gradle,源碼編譯,本地調測 ...
  • 操作系統:CentOS6.5_x64 問題描述 使用lvs實現ftp的負載均衡 為了使模型足夠簡單,這裡只實現了loadblance,HA並未實現,可以藉助keepalived實現。 具體實現 hostA : 192.168.1.21 hostB : 192.168.1.22 hostC : 192 ...
  • 博主之前有過這種情況,就是在普通用戶下su ls等命令還有效,可登陸進root用戶之後這些常用的命令竟然失效了。 像這樣 這問題其實很簡單,但是對於不清楚環境變數的配置的同學來說也的確棘手,我之前就是因為環境變數還不熟悉才 不小心誤刪了root根目錄下.bash_profile文件內的PATH變數 ...
  • 一.概念 複位: 使系統結束當前運行狀態,重新開始運行,並根據複位種類,將系統的寄存器(特定的寄存器除外)恢復到預設狀態。二.複位的種類 1.系統複位 將除了系統後備區域寄存器(BKP)和時鐘控制寄存器的RCC_CSR標誌位以外的所有寄存器恢復為複位值。 <1>.NRST引腳上的低電平<外部複位> ...
  • 1.簡介sed是非互動式的編輯器。它不會修改文件,除非使用shell重定向來保存結果。預設情況下,所有的輸出行都被列印到屏幕上。sed編輯器逐行處理文件(或輸入),並將結果發送到屏幕。具體過程如下:首先sed把當前正在處理的行保存在一個臨時緩存區中(也稱為模式空間),然後處理臨時緩衝區中的行,完成後 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...