BUILDING AND RELINKING ZHUOMA DESKTOP WITH QT
使用其他 Qt 库构建和重新链接卓码大师PC端

The application dynamically links Qt. You may replace the bundled Qt dynamic
libraries with compatible, modified builds for debugging changes to the LGPL
libraries. Reverse engineering for that limited purpose is permitted.

本应用动态链接 Qt。您可以使用兼容的、经过修改的 Qt 动态库替换应用内附带的
Qt 库，以调试对 LGPL 库所作的修改。为该限定目的进行的逆向工程不受禁止。

Requirements
------------

- CMake 3.16 or later
- A C++17 compiler
- Qt 6.11.1 source or a compatible Qt 6 build
- QR Code generator v1.8.0, fetched by CMake from the URL pinned in
  pc/CMakeLists.txt

Example build
-------------

  cmake -S pc -B pc/build-relink \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_PREFIX_PATH=/path/to/modified/Qt/lib/cmake \
    -DQT_DOCS_DIR=/path/to/Qt/Docs/Qt-6.11.1 \
    -DQT_SBOM_DIR=/path/to/Qt/6.11.1/kit/sbom
  cmake --build pc/build-relink

On Windows, use semicolons or PowerShell line continuation as appropriate for
your shell. The standard CMake build copies the complete legal materials to a
"legal" directory beside ScanInputDesktop.exe.

Replacing libraries in an existing macOS application
-----------------------------------------------------

1. Quit Scan Input Desktop.
2. Back up the application bundle.
3. Replace the applicable frameworks under:

     Scan Input Desktop.app/Contents/Frameworks

4. Replace matching plugins under:

     Scan Input Desktop.app/Contents/PlugIns

5. For local testing, re-sign the modified bundle:

     codesign --force --deep --sign - "/path/to/Scan Input Desktop.app"

6. Verify the local signature:

     codesign --verify --deep --strict "/path/to/Scan Input Desktop.app"

macOS may require the user to approve the locally modified application again.
The official Developer ID signature and notarization, when present, will not
remain valid after a library is replaced.

Replacing libraries in an existing Windows application
-------------------------------------------------------

1. Quit Scan Input Desktop and back up its installation directory.
2. Replace the applicable Qt6*.dll files beside ScanInputDesktop.exe.
3. Replace matching plugin DLLs under platforms, styles or sqldrivers.
4. Keep the same CPU architecture and a binary-compatible Qt build.
5. If the application was Authenticode-signed, replacing a DLL invalidates the
   signed release as a whole for support purposes. Sign the modified copy with
   your own certificate if your local security policy requires it.

The official Windows release helper is:

  powershell -ExecutionPolicy Bypass -File pc\scripts\package_windows.ps1 -QtRoot C:\Qt\6.11.1\msvc2022_64

Project build files are available at:

https://gitee.com/sahooz/droid-code-scanner
