我在哪里可以找到libdecodeqr.lib?

时间:2015-07-07 22:17:00

标签: dll 64-bit shared-libraries qr-code barcode-scanner

我使用名为libdecodeqr的库在C ++中创建QR码扫描程序。

我从https://github.com/josephholsten/libdecodeqr下载了所有文件,并修改了其中一个测试程序。但是,我不断收到错误"未解析的外部符号"。这是因为我没有链接库。

我无法在任何地方找到libdecodeqr.lib !它没有包含在GitHub包中,也没有在线!

在GitHub页面的说明中,它说要将decodeqr.h,qrtypes.h,qrerror.h和libdecodeqr.lib添加到我的环境中。除.lib文件外,我已将所有这些文件添加到我的环境中。

我在哪里可以找到libdecodeqr.lib?

此外,这是我修改并正在测试的示例程序:

#include <stdio.h>
#include "opencv2/core/core.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "C:/Users/Asish/Documents/libdecodeqr-master/libdecodeqr/decodeqr.h"
#include "C:/Users/Asish/Documents/libdecodeqr-master/libdecodeqr/qrerror.h"
#include "C:/Users/Asish/Documents/libdecodeqr-master/libdecodeqr/qrtypes.h"
#include "bitstream.h"

using namespace cv;


int main(int argc, char *argv[])
{
    namedWindow("src", 1);
    //
    // load image
    //

    Mat src_old = imread("qrTest.png", 1);
    IplImage* src = new IplImage(src_old);

    imshow("src", src_old);

    //
    // show version info
    //
    printf("libdecodeqr version %s\n", qr_decoder_version());

    //
    // initialize
    //
    QrDecoderHandle decoder = qr_decoder_open();

    //
    // do decode using default parameter
    //
    short stat = qr_decoder_decode_image(decoder, src);
    printf("STATUS=%04x\n", stat);

    //
    // get QR code header
    //
    QrCodeHeader header;
    if (qr_decoder_get_header(decoder, &header)){
        //
        // get QR code text
        // To null terminate, a buffer size is larger than body size.
        //
        char *buf = new char[header.byte_size + 1];
        qr_decoder_get_body(decoder, (unsigned char *)buf, header.byte_size + 1);
        printf("%s\n", buf);
    }

    //
    // finalize
    //
    qr_decoder_close(decoder);

    puts("");
    puts("Hit any key to end.");
    cvWaitKey(0);

    destroyAllWindows();
    cvReleaseImage(&src);

    return(0);
}

1 个答案:

答案 0 :(得分:0)

您正在从GitHub下载源代码,这意味着您还需要创建一个新的VisualStudio C ++项目来编译您自己的libdecodeqr.lib(或dll)。这将要求您还在计算机中安装OpenCV。