DEV Community

CharmPic
CharmPic

Posted on

1 1 1 1

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

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!

Top comments (2)

Collapse
 
nathan_tarbert profile image
Nathan Tarbert

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

Collapse
 
charmpic profile image
CharmPic

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.

Feature flag article image

Create a feature flag in your IDE in 5 minutes with LaunchDarkly’s MCP server 🏁

How to create, evaluate, and modify flags from within your IDE or AI client using natural language with LaunchDarkly's new MCP server. Follow along with this tutorial for step by step instructions.

Read full post

👋 Kindness is contagious

Explore this practical breakdown on DEV’s open platform, where developers from every background come together to push boundaries. No matter your experience, your viewpoint enriches the conversation.

Dropping a simple “thank you” or question in the comments goes a long way in supporting authors—your feedback helps ideas evolve.

At DEV, shared discovery drives progress and builds lasting bonds. If this post resonated, a quick nod of appreciation can make all the difference.

Okay