1

我想生成 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 和源文件 .cpp 文件)。我正在搜索这个 rslib.h 但我从 github 下载的目录中没有这样的文件。我想我不知道每个人都知道的步骤,比如先构建这个库。请解释我应该怎么做才能使用这个库。

4

1 回答 1

1

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

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

QMAKE_CXXFLAGS += -std=c++11

添加到您的 make- 或项目文件中,以方便使用 c++11 标准。

于 2015-07-24T15:27:13.837 回答