I have written a tiny application for Ubuntu, and it works great. I am interested in cross-compiling it for Windows.

I have installed mingw32 from repository, and it compiles simple files very well. However, the app I want to compile for Windows uses some UNIX specific mechanism - for example it makes use of the sys/socket.h file, and the mingw compiler claims it can't find it.

One solution is to install Cygwin on a Windows machine, and try compiling the application from there, using Cygwin executables. Unfortunately, I don't have access to any Windows machine, as I don't own a copy that system. It would be perfect if I somehow could use Cygwin (with it's libraries and headers) on my Ubuntu to compile an .exe file.

There is no package with it in the repositories. Can anyone give me some on how to use Cygwin on Ubuntu?

  • 3
    CygWin is designed to allow you to run Linux programs in Windows. It does not exist in the repositories, because you're already on Linux. According to the Wine AppDB ( appdb.winehq.org/… ) you can run cygwin within Wine. I cannot confirm or reject whether this runs 100% though, because I also own Windows and can test on that :P – Thomas Ward Mar 6 '12 at 15:26
  • @ThomasWard No; "Cygwin runs Linux programs in Windows" is a misconception. Cygwin binaries are Windows binaries. – fkraiem Dec 16 '19 at 19:32

Cygwin is a windows program that allows you to run linux programs in windows, so it wouldn't make any sense to have it in the repositories.

I suspect your only chance of having this work would be to run cygwin in wine.

It sounds like you have two separate questions:

  1. Can I use run Cygwin under Ubuntu to test the windows version I'm trying to build?
  2. How do I find windows libraries to use with mingw32 to replace the linux libraries I've been using?

As I said above, for 1, yes, you should be able to run cygwin in wine for testing.

Questions 2 is unrelated and should be moved to a different question. (For what it's worth, I have no idea about the answer to 2).

| improve this answer | |
  • If so, is there any alternative that would provide my mingw32 with required libraries and headers? – Rafał Cieślak Mar 6 '12 at 20:56
  • @rafalcieslak I edited more details into my answer – David Oneill Mar 6 '12 at 22:20
  • "Cygwin is a windows program that allows you to run linux programs in windows" No, it isn't. – fkraiem Dec 16 '19 at 19:32
  • @fkraiem.. yes it is. A little like what Wine does on linux for Windows programs. – Soren A Dec 16 '19 at 20:18
  • @Soren No, it isn't. If you think it is, you just don't know how it works. – fkraiem Dec 16 '19 at 20:27

Have you tried wine?

Anyway, you can use Virtual Box and 90-day Trial Windows 7, but only if your application is not comercial ;)

| improve this answer | |
  • +1; Cygwin in Windows in VirtualBox in Ubuntu should work well. – sudodus Sep 24 '19 at 13:30

Not the answer you're looking for? Browse other questions tagged or ask your own question.