diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a16476..af6e512 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,10 +16,22 @@ set(CMAKE_AUTOUIC ON) add_compile_definitions(QT_MESSAGELOGCONTEXT) if (WIN32) - # Укажи путь к Qt6 - set(CMAKE_PREFIX_PATH "C:/Qt/6.9.0/msvc2022_64") - list(APPEND CMAKE_PREFIX_PATH "C:/Users/User/.vcpkg-clion/vcpkg/installed/x64-windows") - set(Tesseract_DIR "C:/Users/User/.vcpkg-clion/vcpkg/installed/x64-windows/share/tesseract") + # Определяем архитектуру: проверяем VCPKG triplet, CMAKE переменные и env + if (VCPKG_TARGET_TRIPLET MATCHES "arm64" + OR CMAKE_SYSTEM_PROCESSOR STREQUAL "ARM64" + OR CMAKE_GENERATOR_PLATFORM STREQUAL "ARM64" + OR CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "ARM64" + OR CMAKE_CXX_COMPILER MATCHES "arm64") + message(STATUS "Detected ARM64 target architecture") + 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(Tesseract_DIR "C:/Users/User/.vcpkg-clion/vcpkg/installed/arm64-windows/share/tesseract") + else () + message(STATUS "Detected x64 target architecture") + set(CMAKE_PREFIX_PATH "C:/Qt/6.9.0/msvc2022_64") + list(APPEND CMAKE_PREFIX_PATH "C:/Users/User/.vcpkg-clion/vcpkg/installed/x64-windows") + set(Tesseract_DIR "C:/Users/User/.vcpkg-clion/vcpkg/installed/x64-windows/share/tesseract") + endif () find_package(Tesseract CONFIG REQUIRED) elseif (APPLE) diff --git a/views/bank/BankListWindow.cpp b/views/bank/BankListWindow.cpp index a3c4553..89bf674 100644 --- a/views/bank/BankListWindow.cpp +++ b/views/bank/BankListWindow.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include @@ -72,16 +73,27 @@ void BankListWindow::reloadTable() { } void BankListWindow::syncBanks() { + if (!QSslSocket::supportsSsl()) { + QMessageBox::warning(this, "Ошибка", + "SSL не доступен. HTTPS-запросы невозможны.\n\n" + "Убедитесь, что libssl и libcrypto DLL находятся рядом с исполняемым файлом."); + qWarning() << "[BankListWindow] SSL not supported. Build:" + << QSslSocket::sslLibraryBuildVersionString() + << "Runtime:" << QSslSocket::sslLibraryVersionString(); + return; + } + auto *manager = new QNetworkAccessManager(this); QNetworkRequest request(QUrl("https://api.brtservice.io/api/rest/info/")); QNetworkReply *reply = manager->get(request); connect(reply, &QNetworkReply::finished, this, [this, reply, manager]() { + reply->deleteLater(); + manager->deleteLater(); + if (reply->error() != QNetworkReply::NoError) { QMessageBox::warning(this, "Ошибка", "Не удалось загрузить банки: " + reply->errorString()); - reply->deleteLater(); - manager->deleteLater(); return; } @@ -111,7 +123,5 @@ void BankListWindow::syncBanks() { reloadTable(); qDebug() << "[BankListWindow] Synced" << banks.size() << "banks"; - reply->deleteLater(); - manager->deleteLater(); }); }