Luke Street 166b9036fd Dont set ERROR_SUCCESS generally
Turns out we should only be setting this in a select few cases.
2025-10-06 00:03:10 -06:00
2025-10-06 00:03:10 -06:00
2025-10-06 00:03:10 -06:00
2025-10-06 00:03:10 -06:00
2025-10-05 14:37:45 -06:00
2025-09-26 11:41:02 -06:00
2025-10-04 13:55:08 -06:00
2025-09-28 21:08:29 -06:00
2024-07-23 00:27:03 -06:00
2025-10-04 13:55:08 -06:00

wibo

A minimal, low-fuss wrapper that can run simple command-line 32-bit Windows binaries on 32-bit Linux - developed to run Windows compilers faster than Wine.

Building

cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DBUILD_TESTING=ON
cmake --build build

Set -DCMAKE_BUILD_TYPE=Release to produce an optimized binary instead.

Running

./build/wibo /path/to/program.exe [arguments...]

Supported command line options:

  • --help: Print usage information.
  • -D, --debug: Enable shim debug logging (equivalent to WIBO_DEBUG=1).
  • -C DIR, --chdir DIR, --chdir=DIR: Change to DIR before running the guest program.
  • --cmdline STRING, --cmdline=STRING: Use STRING as the exact guest command line. (Including the program name as the first argument.)
  • --: Stop option parsing; following arguments are interpreted as the exact guest command line. (Including the program name as the first argument.)

Tests

Self-checking Windows fixtures run through CTest. They require a 32-bit MinGW cross toolchain (i686-w64-mingw32-gcc and i686-w64-mingw32-windres).

ctest --test-dir build --output-on-failure

This will cross-compile the fixture executables, run them through wibo, and fail if any WinAPI expectations are not met.


See also:

  • taviso/loadlibrary - Initial inspiration for this project.
  • evmar/retrowin32 - A similar project with different goals and architecture.
  • decomp.me - Collaborative decompilation website; uses wibo to run Windows compilers.
Description
Quick-and-dirty wrapper that tries to run 32-bit Windows command-line executables on Linux
Readme MIT 2.3 MiB
Languages
C++ 84.3%
C 13.9%
CMake 1.6%
Dockerfile 0.2%