Skip to content

Cross compilation with shared argument fails #17608

@zt64

Description

@zt64

Describe the bug

Attempting to cross compile a project using the -shared seems to ignore that and compile like a regular program.

Expected Behavior

The compiler should have finished without any errors, and a dll should be produced.

Current Behavior

With the command v -os windows -shared .

The following error is produced:

/usr/lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld: /usr/lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64_libmingw32_a-crt0_w.o): in function `wmain':
/build/mingw-w64-crt/src/mingw-w64-v10.0.0/mingw-w64-crt/crt/crt0_w.c:23: undefined reference to `wWinMain'
collect2: error: ld returned 1 exit status
Cross compilation for Windows failed. Make sure you have mingw-w64 installed.
Try `sudo apt install -y mingw-w64` on Debian based distros, or `sudo pacman -S mingw-w64-gcc` on Arch, etc...

It fails to find a main function, which it should not be even looking for it as it should be a shared library.

Reproduction Steps

v -os windows -shared .

Possible Solution

No response

Additional Information/Context

No response

V version

V 0.3.3 f02b423

Environment details (OS name and version, etc.)

OS: linux, "Arch Linux"
Processor: 12 cpus, 64bit, little endian, Intel(R) Core(TM) i5-10600K CPU @ 4.10GHz
CC version: cc (GCC) 12.2.1 20230201

getwd: /home/nick
vmodules: /home/nick/.vmodules
vroot: /home/nick/.local/share/v
vexe: /home/nick/.local/share/v/v
vexe mtime: 2023-03-11 22:18:19
is vroot writable: true
is vmodules writable: true
V full version: V 0.3.3 1a48d08.f02b423

Git version: git version 2.39.2
Git vroot status: weekly.2023.05-177-gf02b423f
.git/config present: true
thirdparty/tcc status: thirdparty-linux-amd64 12f392c3

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugThis tag is applied to issues which reports bugs.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions