如何使用ezpwd reed-solomon纠错库

时间:2015-07-24 11:30:26

标签: c++ qt reed-solomon

我想生成QR码,为此我需要Reed-Solomon纠错编码和解码(以便将来读取QR码)。我找到了这个商业图书馆:https://github.com/pjkundert/ezpwd-reed-solomon我想尝试一下。它说这个库适用于C ++和javascript,我想在C ++ QT下使用它。我从github下载了源代码,将ezpwd文件夹放在我的项目中,我尝试使用这个示例代码:

#include <QCoreApplication>
#include <ezpwd/rs>
#include <vector>
#include <stdint.h>

using namespace std;

int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);

vector<int8_t> data;


ezpwd::RS<255,251> rs;
rs.encode( data);

return a.exec();
}

但是发生了这个错误:

dependent '..\reed_solomon_lib_test\rslib.h' does not exists

这是我第一次看到这样的东西,通常应该有一些标题.h和sourse .cpp文件)。我正在搜索这个rslib.h但是我从github下载的目录中没有这样的文件。 我想我不知道每个人都知道的步骤,比如先建立这个库。请解释我该怎么做才能使用这个库。

1 个答案:

答案 0 :(得分:1)

我无法重现您的错误,但似乎您忘记在make-或projectfile中的某处删除rslib.h。

要使用此库,只需将github上c ++文件夹的内容复制到项目目录(您有一个包含C ++ 11标准内联代码文件的ezpwd文件夹)。 由于这些都可以使用,因此您无需修改​​制作或项目文件。简单地包括#include <ezpwd/rs>就像你一样。您可能需要添加以下行:

QMAKE_CXXFLAGS += -std=c++11

到您的make或project文件,以方便使用c ++ 11标准。