首页 > Windows开发 > 详细

nu-book/zxing-cpp在windows7下的编译

时间:2020-03-22 15:22:04      阅读:73      评论:0      收藏:0      [点我收藏+]

环境安装:

1. 安装cmake:https://github.com/Kitware/CMake/releases/download/v3.17.0/cmake-3.17.0-win64-x64.msi,我下的是今天的最新版本。

2.  下载zxing-cpp项目项目代码:https://github.com/nu-book/zxing-cpp/releases。我下载的版本是V1.0.8.

3. Visual Studio 2017安装https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/,安装完成后在 工具-获取工具和支持 中添加“使用C++的桌面开发”支持。

 

项目生成:

1. 解压zxing-cpp压缩包,创建build文件夹用于储存编译后生成的vs工程。

技术分享图片

2. 打开cmake ui,点击“Browse Source…”按钮选择 zxing-cpp 源码路径。点击“Browse Build…”按钮选择 build 文件夹。

技术分享图片

3.点击 Configure按钮,在新窗口中选择Visual Studio 15 2017和x64平台(按需选择)。

技术分享图片

4. 点击Finish完成配置。

技术分享图片

5. 点击Generate按钮完成项目生成。

技术分享图片

项目编译:

1. 在build文件夹中打开vs项目。

技术分享图片

2.修改解决方案配置为Release,点击本地Windows 调试器编译项目。

技术分享图片

3. 编译报错:错误    C2327    “ZXing::DecodeHints::_flags”: 不是类型名称、静态或枚举数 ,查看错误是DecodeHints.h的170 行静态断言导致。

技术分享图片

解决方法:

3.1.注释静态断言 重新编译

enum HintFlag
    {
        TRY_HARDER = static_cast<int>(BarcodeFormat::FORMAT_COUNT) + 1,
        TRY_ROTATE,
        WITH_CODE_39_EXTENDED,
        ASSUME_CODE_39_CHECK_DIGIT,
        ASSUME_GS1,
        RETURN_CODABAR_START_END,
        FLAG_COUNT
    };

    //static_assert(FLAG_COUNT < 8 * sizeof(_flags), "HintFlag overflow");

    bool getFlag(int f) const {
        return (_flags & (1 << f)) != 0;
    }

3.2. 修改sizeof(_flags)为sizeof(uint32_t) ,重新编译。

enum HintFlag
    {
        TRY_HARDER = static_cast<int>(BarcodeFormat::FORMAT_COUNT) + 1,
        TRY_ROTATE,
        WITH_CODE_39_EXTENDED,
        ASSUME_CODE_39_CHECK_DIGIT,
        ASSUME_GS1,
        RETURN_CODABAR_START_END,
        FLAG_COUNT
    };

    static_assert(FLAG_COUNT < 8 * sizeof(uint32_t), "HintFlag overflow");

    bool getFlag(int f) const {
        return (_flags & (1 << f)) != 0;
    }

4.编译成功

技术分享图片技术分享图片

nu-book/zxing-cpp在windows7下的编译

原文:https://www.cnblogs.com/zhenjin-huaxiazongdai/p/12545959.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!