2015年9月16日 星期三

Arm linux下 QRcode library安裝使用

所需套件

1. qrencode -->  qrencode-3.2.0.tar.gz
下載
http://pkgs.fedoraproject.org/repo/pkgs/qrencode/qrencode-3.2.0.tar.gz/

2. libpng --> libpng-1.6.12.tar.gz
下載
http://pkgs.fedoraproject.org/repo/pkgs/libpng/libpng-1.6.12.tar.gz/297388a6746a65a2127ecdeb1c6e5c82/


Step 1: 安裝 libpng

    $:  tar zxvf libpng-1.6.12.tar.gz ;

    $:  cd libpng-1.6.12

    $:  ./configure --prefix=/usr/local/Jinyo_linpng(安裝路徑) \

        --host =arm-linux(主機架構) \

        CC= arm-arago-linux-gnueabi-gcc(gcc 路徑) \

        LD= arm-arago-linux-gnueabi-ld( ld 路徑) ;

    $:  make ; make install ;



Step 2: 安裝 qrencode
    $:  tar zxvf qrencode-3.2.0.tar.gz  ;
    $:  cd qrencode-3.2.0 ;
    $:  ./configure PKG_CONFIG_PATH= \
         $PKG_CONFIG_PATH:/usr/local/Jinyo_linpng/lib/pkgconfig \
         --host= arm-linux --prefix=/usr/local/jinyo_qrencode --enable-static \
         CC= arm-arago-linux-gnueabi-gcc \
         LD= arm-arago-linux-gnueabi-ld ;
    $:   make ; make install ;

Step 3: ADD project
   安裝完成後就可以將qrencode.h 和 libqrencode.a 加入自己的project來使用
   $: cp /usr/local/jinyo_qrencode/include/qrencode.h   / your project/include/
   $: cp /usr/local/jinyo_qrencode/lib/libqrencode.a     / your project/lib/

   主要是呼叫這個API
   QRcode_encodeString("www.xxx.com", 1, QR_ECLEVEL_L, QR_MODE_8,0) ;
   原形如下
QRcode *QRcode_encodeString( const char *string,
                                    int version,
                                    QRecLevel level,
                                    QRencodeMode hint,
                                    int casesensitive   ) {

    return QRcode_encodeStringReal( string,
                                    version, 
                                    level, 
                                    0, 
                                    hint,
                                    casesensitive  );

}

   string:     輸入字串,ex:www.xxx.com
   version:  版本號
   level:      錯誤更正碼(Error correction)的等級,共4級
                 參考wiki
                  https://en.wikipedia.org/wiki/QR_code#Error_correction
              

  hint:           ??不太清楚
  casesensitive:   輸入字串是否要分大小寫 --> 0:忽略  1:要分大小寫

完整的sample-code主要參考這一篇
 http://stackoverflow.com/questions/21400254/how-to-draw-a-qr-code-with-qt-in-native-c-c

沒有留言:

張貼留言