Build Tools / Compilers for C++ ?

I'm not sure if this is the right section for this question so please move it if so.

I'm finally at the end of my tether with my current setup. Currently using Windows XP and will soon be using Windows 7.

I often find myself building open source libraries with a million and one errors and most seem to be unsolvable. Maybe solving them go's far beyond my knowledge base. I'm currently using a CodeBlocks IDE with a MinGW Compiler.

What I'm asking is this: I'm trying to make building libraries a whole lot easier for myself. Most of the libraries I use are build for open source systems (linux) and this is no doubt the root of allot of the problems, as I'm using Windows.

I still want to keep using Windows but are there better build tools out there which can smooth out some of these build issues? There's a myriad of them such as not being able to find directories even if it's a sub directory of the current library, the compiler being unable to read the source code, and other issues as well.

I'm wondering if this can be made easier by either changing compilers. Is Visual Studio any better for this kind of thing?

Will using GNU make help here?

Are there any other tools which are very useful in this area?

I don't care if I have to spend money now as I'm losing my mind trying to fix build errors on a daily basis.
closed account (z05DSL3A)
There are no silver bullets. It can be a royal PITA to build out some of the libraries out there.

It is always good to have alternative tool chains.
Agreed. Which Tool chains do you recommend?
> Most of the libraries I use are build for open source systems (linux)
>> Which Tool chains do you recommend?

https://cygwin.com/

Caveat: viral license
closed account (z05DSL3A)
JLBorges++
Hi JLBorges.

Can you tell me how this works. I always thought I Cygwin was a windows interface for Linux. So how would that apply to someone with Windows?

I was hoping that if I could build a library meant to be a linux environment for windows, I could build the software using that overlay and run it on a normal windows platform once the object files had been built for any library I wish to use. Is that possible?

What do you know about Cygwin?
> I could build the software using that overlay and run it on a normal windows platform
> once the object files had been built for any library I wish to use.
> Is that possible?

Yes.

1.1. What is it?

Cygwin is a distribution of popular GNU and other Open Source tools running on Microsoft Windows. The core part is the Cygwin library which provides the POSIX system calls and environment these programs expect.

The Cygwin distribution contains thousands of packages from the Open Source world including most GNU tools, many BSD tools, an X server and a full set of X applications. If you're a developer you will find tools, headers and libraries allowing to write Windows console or GUI applications that make use of significant parts of the POSIX API. Cygwin allows easy porting of many Unix programs without the need for extensive changes to the source code. This includes configuring and building most of the available GNU or BSD software, including the packages included with the Cygwin distribution themselves. They can be used from one of the provided Unix shells like bash, tcsh or zsh.
...

2.11. What packages should I download? Where are 'make', 'gcc', 'vi', etc?

When using Cygwin Setup for the first time, the default is to install a minimal subset of all available packages. If you want anything beyond that, you will have to select it explicitly. See https://cygwin.com/packages/ for a searchable list of available packages, or use cygcheck -p as described in the Cygwin User's Guide at https://cygwin.com/cygwin-ug-net/using-utils.html#cygcheck.

If you want to build programs, of course you'll need gcc, binutils, make and probably other packages from the ``Devel'' category. Text editors can be found under ``Editors''.

https://cygwin.com/faq.html

What... ...isn't it?

Cygwin is not:

a way to run native Linux apps on Windows. You must rebuild your application from source if you want it to run on Windows.

a way to magically make native Windows apps aware of UNIX® functionality like signals, ptys, etc. Again, you need to build your apps from source if you want to take advantage of Cygwin functionality.

https://cygwin.com/index.html

When a binary linked against the library is executed, the Cygwin DLL is loaded into the application's text segment. Because we are trying to emulate a UNIX kernel which needs access to all processes running under it, the first Cygwin DLL to run creates shared memory areas and global synchronization objects that other processes using separate instances of the DLL can access. This is used to keep track of open file descriptors and to assist fork and exec, among other purposes. Every process also has a per_process structure that contains information such as process id, user id, signal masks, and other similar process-specific information.

The DLL is implemented as a standard DLL in the Win32 subsystem. Under the hood it's using the Win32 API, as well as the native NT API, where appropriate.

https://cygwin.com/cygwin-ug-net/highlights.html
Topic archived. No new replies allowed.