nu-book/zxing-cpp在windows7下的编译
環境安裝:
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下的编译的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HelloWorld新手常见问题
- 下一篇: java信息管理系统总结_java实现科