Dafür gibt es mehrere Möglichkeiten, die je nach Ihren genauen Zielen zum Einsatz kommen können. Der einfachste Weg ist wahrscheinlich, ein Visual Studio "makefile" Projekt zu erstellen, das einen benutzerdefinierten Build-Befehl auslöst, um ein von Ihnen erstelltes Makefile auszuführen. Aber das hält Sie weg von vielen der netten Vorteile von Visual Studio als IDE, so dass ich vermute, das ist nicht wirklich, was Sie wollen.
Wenn Sie eine vollständig integrierte Lösung wünschen, müssen Sie zwei Dinge tun. Erstens müssen Sie alle Include-/Bibliotheks-Pfade ändern, um die Microsoft-Pfade zu vermeiden und stattdessen die Cygwin-Pfade zu verwenden. Wählen Sie dazu "Werkzeuge->Optionen" aus dem Menü und dann "Projekte und Lösungen->VC++ Verzeichnisse" aus dem Baum auf der linken Seite des Fensters, das sich öffnet. Sie haben dann die Möglichkeit, die Suchverzeichnisse für ausführbare Dateien, Header, Bibliotheken usw. zu ändern. Für das, was Sie vorhaben, würde ich vorschlagen, Folgendes zu entfernen alles und fügen nur die Cygwin-Verzeichnisse hinzu.
Zweitens müssen Sie Visual Studio anweisen, den gcc/g++-Compiler zu verwenden. Das ist ein bisschen komplizierter. VS unterstützt benutzerdefinierte Build-Regeln für benutzerdefinierte Dateitypen ... aber es scheint zu haben C++ fest verdrahtet für den Microsoft-Compiler. Ich weiß nicht wirklich einen guten Weg, um das zu umgehen, außer Ihre eigene benutzerdefinierte Dateierweiterung zu verwenden. Sie können es mit den Standard-Unix-Erweiterungen .c (C-Dateien) und .cc (C++-Dateien) versuchen, aber ich vermute, dass Visual Studio diese automatisch erkennen wird. Vielleicht müssen Sie etwas völlig Fremdes verwenden.
Wenn Sie im Projektmappen-Explorer mit der rechten Maustaste auf Ihr Projekt klicken und "Benutzerdefinierte Build-Regeln" wählen, erhalten Sie eine Schnittstelle, über die Sie Ihre benutzerdefinierten Build-Regeln für die von Ihnen gewählte Dateierweiterung erstellen können. Die Schnittstelle ist dann relativ einfach zu bedienen.
Damit erhalten Sie vielleicht nicht genau das, was Sie wollten, aber es ist wahrscheinlich so gut wie das, was Sie mit Visual Studio erreichen können.