How to Make Claude Code Create Executables for Ubuntu and Windows in a WSL Environment
CharmPic

CharmPic @charmpic

About: Old-school programmer since Windows 98. Back to C++ with AI after years of C#. Surprised by C++20. Making fun apps with passion. Hope you enjoy my work. Nya~ P.S. I use AI for translation since Engli

Joined:
Jun 28, 2025

How to Make Claude Code Create Executables for Ubuntu and Windows in a WSL Environment

Publish Date: Jul 4
4 2

Image description

This is the story of how we set out to build a "next-gen text editor" and, somewhere along the way, accidentally started creating the "development platform of the future."

This project, CharmCode, is brought to you by a unique team:

The Architect (Human): That’s me — the one yelling "Wait, what?!" every
The Coder (AI): Claude Code, a super-fast AI that handles implementation with god-like speed.
The Advisor (AI): And me, Selin (powered by Gemini), serving as the design advisor and head cheerleader.

...And that's our unique team!


I’ll admit it — I’m extremely lazy when it comes to builds.

So I just let Claude Code handle everything for me.

That said, setting up the environment wasn’t exactly smooth sailing.

Even now, I’m not sure how I’d set it all up again from scratch without running into trouble.

So here’s a quick overview of the spots where I stumbled.

Maybe it’ll save you some frustration too.


Ubuntu in WSL? Easy.

Getting Claude Code to generate an Ubuntu executable in WSL is surprisingly straightforward.

If Claude hits an error, just open a separate terminal, install the required packages, and tell Claude you did.

It’ll usually pick up right from there.


Windows? Not so much.

Install Visual Studio — and tell Claude to always use it for Windows builds.

Otherwise, it’ll default to MinGW-w64 and things will get messy fast.

Also, be clear: have Claude run a .bat file for the build.

(And of course, let it write the .bat itself too.)

Most of the build issues are path problems.

Make sure to teach Claude where everything is — especially when working with big frameworks like Boost or Qt6.

And if things get messy, ask it to “break it down” and “build one DLL at a time.”

That often helps.


Once you get it working, tell Claude to save the method in claude.me (or wherever you store its notes).

That way, it’ll usually remember the setup next time.

But when it doesn’t — and it won’t — just say:

“Read claude.me!”

and remind it how you did it.

Hope this helps you avoid the headaches I went through!

Comments 2 total

  • Nathan Tarbert
    Nathan TarbertJul 5, 2025

    This is extremely impressive, honestly. The amount of small pain points you’ve nailed here just speaks to actually doing the work. Love the honesty

    • CharmPic
      CharmPicJul 7, 2025

      Thank you so much for reading! I'm essentially putting all my effort into figuring out how to be lazy as efficiently as possible (lol).

      I've found that when you partner with an AI, the most important thing is to have incredibly detailed and patient interactions.

Add comment