From 5f94bd84d92f12441f420f837c1ba685a7d85070 Mon Sep 17 00:00:00 2001 From: slava Date: Thu, 12 Jun 2025 16:24:49 +0700 Subject: [PATCH] Fix for windows --- CMakeLists.txt | 16 +++++---- main.cpp | 1 - services/db/AccountInfoScreener.cpp | 56 ----------------------------- services/db/AccountInfoScreener.h | 8 ----- 4 files changed, 9 insertions(+), 72 deletions(-) delete mode 100644 services/db/AccountInfoScreener.cpp delete mode 100644 services/db/AccountInfoScreener.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 9eb9b9b..08d2c20 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,9 +3,10 @@ project(ARCDesktopProject LANGUAGES CXX) #mkdir build #cd build -#cmake .. -DCMAKE_PREFIX_PATH="C:/Qt/6.x.x/msvc2019_64" -DCMAKE_BUILD_TYPE=Release +#cmake .. -A x64 -DCMAKE_PREFIX_PATH="C:/Qt/6.9.0/msvc2022_64" -DCMAKE_BUILD_TYPE=Release +#cmake .. -G "Visual Studio 17 2022" -A x64 -DCMAKE_PREFIX_PATH="C:/Qt/6.9.0/msvc2022_64" -DCMAKE_BUILD_TYPE=Release #cmake --build . --config Release -#windeployqt .\Release\ARCDesktopProject.exe +#"C:\Qt\6.9.0\msvc2022_64\bin\windeployqt.exe" .\Release\ARCDesktopProject.exe set(CMAKE_CXX_STANDARD 17) set(CMAKE_AUTOMOC ON) @@ -16,12 +17,13 @@ add_compile_definitions(QT_MESSAGELOGCONTEXT) if (WIN32) # Укажи путь к Qt6 - set(CMAKE_PREFIX_PATH "C:/Qt/6.9.0/msvc2022_arm64") - list(APPEND CMAKE_PREFIX_PATH "C:/Users/User/.vcpkg-clion/vcpkg/installed/arm64-windows") + #set(CMAKE_PREFIX_PATH "C:/Qt/6.9.0/msvc2022_arm64") + set(CMAKE_PREFIX_PATH "C:/Qt/6.9.0/msvc2022_64") + # list(APPEND CMAKE_PREFIX_PATH "C:/Users/User/.vcpkg-clion/vcpkg/installed/arm64-windows") #vcpkg install tesseract:arm64-windows - set(Tesseract_DIR "C:/Users/User/.vcpkg-clion/vcpkg/installed/arm64-windows/share/tesseract") + #set(Tesseract_DIR "C:/Users/User/.vcpkg-clion/vcpkg/installed/arm64-windows/share/tesseract") - find_package(Tesseract CONFIG REQUIRED) + #find_package(Tesseract CONFIG REQUIRED) elseif (APPLE) # Укажи путь к Qt6 set(CMAKE_PREFIX_PATH "/opt/homebrew/opt/qt") @@ -91,7 +93,7 @@ if (WIN32) Qt6::Xml Qt6::Sql Qt6::Network - Tesseract::libtesseract + # Tesseract::libtesseract ) # Копирование изображений в директорию сборки diff --git a/main.cpp b/main.cpp index 678b242..484a49e 100644 --- a/main.cpp +++ b/main.cpp @@ -6,7 +6,6 @@ #include "database/DatabaseManager.h" #include "database/dao/CommonDataDAO.h" -#include "db/AccountInfoScreener.h" #include "services/DeviceScreener.h" #include diff --git a/services/db/AccountInfoScreener.cpp b/services/db/AccountInfoScreener.cpp deleted file mode 100644 index e548a5b..0000000 --- a/services/db/AccountInfoScreener.cpp +++ /dev/null @@ -1,56 +0,0 @@ -#include "AccountInfoScreener.h" -#include -#include -#include -#include - -#include "android/Card.h" -#include "tesseract/baseapi.h" - -QList AccountInfoScreener::parseCardData(const QByteArray &imageData) { - QList cards; - // QImage image; - // if (!image.loadFromData(imageData)) { - // return {}; - // } - // image = image.convertToFormat(QImage::Format_Grayscale8); - - QImage image("./images/img.png"); - if (image.isNull()) { - return {}; - } - - // важная часть, без нее не парсит - image = image.convertToFormat(QImage::Format_Grayscale8); - - tesseract::TessBaseAPI tess; - if (tess.Init(nullptr, "rus")) { - qDebug() << "Ошибка инициализации Tesseract с русским языком...."; - } - - tess.SetImage(image.bits(), image.width(), image.height(), 1, image.bytesPerLine()); - - const QString result = QString::fromUtf8(tess.GetUTF8Text()); - qDebug() << "Распознанный текст:" << result; - - - const QRegularExpression re(R"((дебетовая(?:, цифровая)?),\s*\*(\d{4})\s+([\d]+\.\d{2})\s*Р)", - QRegularExpression::CaseInsensitiveOption); - - QRegularExpressionMatchIterator i = re.globalMatch(result); - - while (i.hasNext()) { - auto card = Card(); - bool ok; - QRegularExpressionMatch match = i.next(); - const double amount = match.captured(3).toDouble(&ok); - if (ok) { - card.amount = amount; - card.name = match.captured(2); - card.description = match.captured(1); - cards.append(card); - } - } - - return cards; -} diff --git a/services/db/AccountInfoScreener.h b/services/db/AccountInfoScreener.h deleted file mode 100644 index 9022bbc..0000000 --- a/services/db/AccountInfoScreener.h +++ /dev/null @@ -1,8 +0,0 @@ -#pragma once - -#include "android/Card.h" - -class AccountInfoScreener { -public: - [[nodiscard]] static QList parseCardData(const QByteArray &imageData); -};