I have a user having issues running my project on their 32-bit Windows install. I thought LDC2 compiled as 32-bit by default, but for some reason the errors persist for him regardless.

In attempt to resolve this, I am doing everything that requires 32-bit explicitly. I downloaded a known-good 32-bit libcurl.dll to distribute with the project, I added -m32 to all of the compile commands, added -L/SUBSYSTEM:WINDOWS etc.

When comping with the command below, I get linker errors saying that '/SUBSYSTEM:WINDOWS" isn't recognized and is ignored, and entry point must be defined. MSVCE linker fails with status 1221.

ldc2 "source/launcher.d" "source/common.d" -of="build/$release/launcher.exe" \
        -m32 -O3 -ffast-math -release -g -L/SYBSYSTEM:WINDOWS

Compiling with the following command however works fine, but doesn't work on 32-bit systems.

ldc2 "source/launcher.d" "source/common.d" -of="build/$release/launcher.exe" \
        -O3 -ffast-math -release -g

The issue stems from using 'extern (Windows) WinMain' as the entry point in the file. Any ideas how I can resolve this?

https://github.com/spikespaz/search-deflector/blob/master/source/launcher.d
https://github.com/spikespaz/search-deflector/blob/master/build.sh

Reply via email to