Is there a trick to cross-compile i386 in zig cc?

Hello! I’m trying to cross-compile from 64-bit windows 10 to 32-bit, and neither gnu nor msvc options will give me an exe file.

Is this unsupported or am I missing something obvious? Maybe my test file is too complicated :slight_smile:

C:\Users\user\Documents\c test>type main.c
#include <stdio.h>

int main(int argc, char** argv)
{
        printf("Hello, World!\n");
        return 0;
}
C:\Users\user\Documents\c test>zig cc main.c -o mainx64.exe

C:\Users\user\Documents\c test>mainx64.exe
Hello, World!

C:\Users\user\Documents\c test>zig cc main.c -o mainx86.exe -target i386-windows-gnu
LLD Link... lld-link: error: <root>: undefined symbol: _tls_index

C:\Users\user\Documents\c test>zig cc main.c -o mainx86.exe -target i386-windows-msvc
LLD Link... lld-link: error: <root>: undefined symbol: _mainCRTStartup
lld-link: error: undefined symbol: ___security_cookie
>>> referenced by C:\Users\user\AppData\Local\zig\o\66c2fec5dce43c7125f6ea93b2b781fe\main.obj:(_sprintf)
>>> referenced by C:\Users\user\AppData\Local\zig\o\66c2fec5dce43c7125f6ea93b2b781fe\main.obj:(__snprintf)
>>> referenced by C:\Users\user\AppData\Local\zig\o\66c2fec5dce43c7125f6ea93b2b781fe\main.obj:(_printf)

lld-link: error: undefined symbol: @__security_check_cookie@4
>>> referenced by C:\Users\user\AppData\Local\zig\o\66c2fec5dce43c7125f6ea93b2b781fe\main.obj:(_sprintf)
>>> referenced by C:\Users\user\AppData\Local\zig\o\66c2fec5dce43c7125f6ea93b2b781fe\main.obj:(__snprintf)
>>> referenced by C:\Users\user\AppData\Local\zig\o\66c2fec5dce43c7125f6ea93b2b781fe\main.obj:(_printf)

lld-link: error: undefined symbol: ___acrt_iob_func
>>> referenced by C:\Users\user\AppData\Local\zig\o\66c2fec5dce43c7125f6ea93b2b781fe\main.obj:(_printf)

lld-link: error: undefined symbol: ___stdio_common_vsprintf
>>> referenced by C:\Users\user\AppData\Local\zig\o\66c2fec5dce43c7125f6ea93b2b781fe\main.obj:(__vsnprintf_l)

lld-link: error: undefined symbol: ___stdio_common_vfprintf
>>> referenced by C:\Users\user\AppData\Local\zig\o\66c2fec5dce43c7125f6ea93b2b781fe\main.obj:(__vfprintf_l)

C:\Users\user\Documents\c test>