Two small things stop a Linux build (tested on Ubuntu 22.04, GCC 11.4, Qt 5.15).
1. WindCore/arm710.h misses #include <functional>
The header uses std::function:
void setLogger(std::function<void(const char *)> newLogger) { logger = newLogger; }
...
std::function<void(const char *)> logger;
but only includes <stdint.h>, <optional> and <variant>. With older
libstdc++ this compiled because <optional> pulled <functional> in
transitively; with GCC 11 it does not, and the build fails. Adding the explicit
include fixes it.
2. WindQt/pdascreenwindow.cpp cannot build on non-Windows, non-macOS hosts
#error "Unsupported platform (for now! fix me in pdascreenwindow.cpp)"
static EpocKey resolveKey(int key) {
Besides the #error, the placeholder resolveKey in that branch takes one
argument while both call sites pass two:
EpocKey k = resolveKey(event->key(), event->nativeVirtualKey());
so removing the #error alone is not enough — the fallback also needs the
two-argument signature. With both changed, WindQt builds and runs on
Linux/X11 (we used it under WSLg).
Keyboard mapping on the fallback path is obviously not correct; this is only
about the build.
Reported by @ajfa, with Claude (Anthropic) assisting.
Two small things stop a Linux build (tested on Ubuntu 22.04, GCC 11.4, Qt 5.15).
1.
WindCore/arm710.hmisses#include <functional>The header uses
std::function:but only includes
<stdint.h>,<optional>and<variant>. With olderlibstdc++ this compiled because
<optional>pulled<functional>intransitively; with GCC 11 it does not, and the build fails. Adding the explicit
include fixes it.
2.
WindQt/pdascreenwindow.cppcannot build on non-Windows, non-macOS hostsBesides the
#error, the placeholderresolveKeyin that branch takes oneargument while both call sites pass two:
EpocKey k = resolveKey(event->key(), event->nativeVirtualKey());so removing the
#erroralone is not enough — the fallback also needs thetwo-argument signature. With both changed, WindQt builds and runs on
Linux/X11 (we used it under WSLg).
Keyboard mapping on the fallback path is obviously not correct; this is only
about the build.
Reported by @ajfa, with Claude (Anthropic) assisting.