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
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>