[HN Gopher] A guide to Windows application development using w64...
       ___________________________________________________________________
        
       A guide to Windows application development using w64devkit
        
       Author : petercooper
       Score  : 57 points
       Date   : 2021-03-11 16:01 UTC (7 hours ago)
        
 (HTM) web link (nullprogram.com)
 (TXT) w3m dump (nullprogram.com)
        
       | sprayk wrote:
       | I want a doc like this, but targeting MS toolchains and
       | libraries. gcc/make/bash/vim are already on my toolbelt
       | regardless of OS I'm using. I've tried to get a build system
       | going a few times in MS land, but I'm too used to the relative
       | simplicity of gcc and make files and find I have little patience
       | for what feels like massive overkill for building simple command
       | line tools.
        
         | pjc50 wrote:
         | > I've tried to get a build system going a few times in MS
         | land, but I'm too used to the relative simplicity of gcc and
         | make files and find I have little patience for what feels like
         | massive overkill for building simple command line tools.
         | 
         | Embrace the target: use Visual Studio (community edition)
         | 
         | You can still write in vim if you want, you just tab over and
         | hit F5 when you want to run.
         | 
         | MSBuild has a steep learning curve, but I've recently managed
         | to climb it using https://docs.microsoft.com/en-
         | us/visualstudio/msbuild/msbuil...
         | 
         | Coming from make, a make target is a msbuild "item". Variables
         | become properties. Build steps are "tasks" - generally you use
         | the builtin ones.
        
           | greggyb wrote:
           | VsVim is pretty good vim emulation for Visual Studio.
        
         | Iwan-Zotow wrote:
         | Why do you want MS tools?
         | 
         | Download LLVM for Windows, it produced native Win binaries,
         | works well, you could use the same GCC flags
        
         | Sindisil wrote:
         | One option would be to use Visual Studio Build Tools
         | (https://visualstudio.microsoft.com/thank-you-downloading-
         | vis...).
         | 
         | You could stick with makefiles by using nmake. It's not nearly
         | as full featured as gnu make, and both cmd and PowerShell are
         | much different (and less powerful in the case of cmd) to bash.
         | Still and all, I've made it work quite well in the past for the
         | Windows build of a library I was responsible for in my former
         | day job.
         | 
         | Another option would be to use cmake as your build tool and let
         | it generate ninja, msbuild, or nmake scripts for you. It's not
         | nearly as bad as it was in the past (nor as bad as some might
         | lead to to believe). Worth a try, anyway.
        
           | auxym wrote:
           | There's also the option of going in .NET/C# land with the
           | cross platform dotnet SDK (previously known as .NET Core):
           | https://dotnet.microsoft.com/download
           | 
           | It's a CLI based full blown SDK including compiler, package
           | manager and build tools, and it's cross platform.
        
       | [deleted]
        
       | josteink wrote:
       | > Windows' standard command shell is cmd.exe. Unfortunately this
       | shell is terrible and exists mostly for legacy compatibility. For
       | users who regularly need a shell, the intended replacement is
       | PowerShell. It's a significant improvement, but 1) it's still
       | mediocre, 2) sticking to POSIX shell conventions significantly
       | improves build portability, 3) unix tool knowledge is
       | transferable to basically every other operating system.
       | 
       | Powershell Core is actually available on quite a few posix-
       | platforms and thus actually portable.
       | 
       | Obviously you'll introduce a non-standard build-time dependency
       | on Unix-platforms, but by adopting it at least you can slowly
       | ween your Windows-only stuff in a generally more portable
       | direction.
        
       | wizzard0 wrote:
       | I wonder if a similar toolkit could be assembled for the GUI apps
       | using Zig, Nim or some other fancy new C-like languages plus a
       | minimalistic UI wrapper.
        
         | flohofwoe wrote:
         | Not quite as "radical", but I did something in that direction,
         | a minimal "starter kit" for developing Dear ImGui applications
         | in C99:
         | 
         | https://github.com/floooh/cimgui-sokol-starterkit
         | 
         | It needs the system's "default compiler toolchain" and cmake,
         | but other then that, there are no external dependencies, and I
         | tried to keep everything as simple as possible (even the
         | CMakeLists.txt file).
         | 
         | All the dependencies (Dear ImGui, cimgui and the Sokol headers
         | for cross-platform wrapping of the platform-specific window
         | systems and 3D-APIs) are bundled right in the git repo.
         | 
         | Zig and Nim are sort-of "in progress" (for instance, see the
         | sokol-zig bindings here: https://github.com/floooh/sokol-zig/)
        
         | FpUser wrote:
         | If you want to build powerful rich native self sufficient GUI
         | apps on Windows:
         | 
         | Get Lazarus IDE for Windows. The language is highly advanced
         | Object Pascal
         | 
         | For the same thing but C++ you can get Ultimate++ IDE.
         | 
         | Either will produce single exe file.
         | 
         | Deployment in either case is just copy exe and have at it
        
       ___________________________________________________________________
       (page generated 2021-03-11 23:01 UTC)