Is there a way I could compile it [a COBOL source] in a way that it's windows compatible?
That's not the question that is in the title, so answering that first.
Can you do it from Ubuntu?
Yes, ... as cobc
uses an underlying C compiler and you can do cross-compiling with C compilers (you'll likely use gcc-mingw-w64-i686
or gcc-mingw-w64-x86-64
).
... but it needs a lot of set-up.
- install the cross-compiler environment
- get all the dependencies for
cobc
/libcob
working in this environment
- build and install a second version of the GnuCOBOL package from source using
./configure --host=i686-w64-mingw32
- compile your programs using the mingw version of
cobc
This way you get a "main.exe" which you can use on a Windows computer as long as you ship the mingw dll, libcob dll (and the dll files of all its dependencies).
I have gnucobol (OpenCOBOL installed on my linux ubuntu VM.
Please help. Is there a way I could compile it in a way that it's windows compatible?
That's the "long question". Yes, and very easy.
When you do have a Windows environment and want to generate an executable for that - no need for doing this in a separate VM (or WSL) in the first place, just get the official ready-to-use MinGW packages for GnuCOBOL (available for both 32 and 64bit) and compile directly on the Windows machine.