• Ziglin@lemmy.world
    link
    fedilink
    arrow-up
    37
    ·
    9 months ago

    I’ve used mingw in the past, the exe usually is 10x the size and wants the entire binary of any library used as well and first requires you to download the source windows version of the lib and link it. Meaning a small SDL2 project on Linux was I think 100kib while on windows it was 1mib + 2.5 mib

    • 0x4E4F@lemmy.dbzer0.comOP
      link
      fedilink
      arrow-up
      21
      ·
      9 months ago

      Windows has dll hell… so basically, to ge around this, some tools statically link by default. It’s not an ideal solution, but it works most of the time… and regarding how unmainatained a Windows install might be (old installs, like Win7) or how badly updated/upgraded it might be (newer installs, Win10 and 11), I guess it is the only choice you actually have to make your app run on as many Windows systems as possible.

      • Ziglin@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        9 months ago

        Since I don’t do this professionally it doesn’t have to run on any windows systems, I just was stuck with windows recently so I programmed in a GitHub codespace and compiled for Windows which is how I found out about all that I’m so happy not to have run into problems like this on Linux.

        • 0x4E4F@lemmy.dbzer0.comOP
          link
          fedilink
          arrow-up
          3
          ·
          9 months ago

          Linux is a smooth ride when it comes to binaries… might miss a few dependencies here and there, but all easily fixed if you just install them.

          Windows on the other hand 😬…

    • oddsys@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      9 months ago

      If you have WSL set up run

      strip your.exe
      

      It often reduces the size a fair bit

  • PeterPoopshit@lemmy.world
    link
    fedilink
    arrow-up
    11
    ·
    edit-2
    9 months ago

    Best I can do is make an elf that mostly works and the memory manager seems pretty solid but the second you start doing stuff with strings, it fucks all up and I never figured out that bug after months so it is what it is. If you want to print a string you have to drop into real mode first.