GCC Compiler in MS Visual Studio einbinden
-
Hallo,
ich absolviere gerade ein Praktikum.
Mein Vorgesetzter hat mir nun die Aufgabe gegeben herauszufinden, wie man den GCC Compiler in MS Visual Studio 6 einbinden kann.
Sie haben in Zukunft vor die Produkte ebenfalls für Linux zu entwickeln. Aus diesem Grund möchten sie den GCC Compiler in MSVS6 einbinden - sie gehen davon aus, dass es dann einfacher ist die Programme zu portieren.Hat jemand Tipps, bzw. kann mir eine Anleitung geben, wei dies zu bewerkstelligen ist?
Danke.
Gruß,
Alexander
-
es ist moeglich, aber nicht einfach.
du musst proxy dateien einsetzen, die die MS command line optionen in die vom gcc konvertieren.
für den compiler habe ich es schon gemacht: http://schornboeck.net/code/cl_proxy.cpp
es fehlt noch der linker und was ganz wichtig ist: er muss
ws2_32.lib automatisch in libws2_32.a umwandelnwenn du dich an den linker dran setzt wäre es nett, wenn du das resultat (mit source code) hier posten könntest.
-
Mal so nebenbei.
MinGW ist ein GCC-Port.
DEvCpp 5 ist eine Oberfläche, die fast alles kann, was VC++ kann. Das Ganze bekommt man fertig in einem Paket unter Bloodshed.net.
Warum willst du unbedingt das VC++ als Frontend haben?cYa
DjR
-
Bloodshed Dev-C++ ist doch eigentlich ziemlicher Müll. Es hat noch tausende Bugs. Noch nicht mal der Uninstaller funktioniert richtig. Was mich am meisten nervt ist der schlechte Editor-Fenster wo man den Quelltext eingibt.
Das Problem ist nur, das es keine Alternativen gibt. Schade das das Projekt Windeveloper von Loggy abgebrochen wurde. Das wäre bestimmt um längen besser geworden.
-
Original erstellt von DocJunioR:
**DEvCpp 5 ist eine Oberfläche, die fast alles kann, was VC++ kann.
***lol*
da liegen WELTEN dazwischen.
Dev-C++ ist sogar für ne Freie IDE nicht gerade umwerfend.
schau dir mal an, was es unter Unix für freie IDEs gibt, da schaut der Dev-C++ nur noch alt aus.Und der VC++ legt, vorallem der 7er noch ne MENGE drauf.
-
Hmm..
Kann auch dran liegen, dass ich genügsam bin
Auf jeden Fall kann ich damit compilen, bekomme Hilfe, wenn ich sie brauch und die Bugs (@Miri) sind garnicht so viele. Mir sind zumindest noch nicht viele aufgefallen am 4.9.6.0..Der installer/Uninstaller ist im Übrigen nicht von Bloodshed, sondern ein Standardteil, das man aus dem Netz bekommt.
cYa
DjR
-
Der installer/Uninstaller ist im Übrigen nicht von Bloodshed, sondern ein Standardteil, das man aus dem Netz bekommt.
hä? Das ist irgendein Installationsprogramm, ich glaub das von den Entwicklern von WinAMP. Und der funktioniert auch bei anderen Programmen. Nur wenn die Bloodshed Entwickler den nicht vernünftig skripten können, dann ist es doch ihre Schuld.
-
Original erstellt von DocJunioR:
Kann auch dran liegen, dass ich genügsam bin
Auf jeden Fall kann ich damit compilen, bekomme Hilfe, wenn ich sie brauch und die Bugs (@Miri) sind garnicht so viele. Mir sind zumindest noch nicht viele aufgefallen am 4.9.6.0..der updater hat nen katastrophalen bug: wenn du dir n update für die devcpp.exe saugst, und dann beendet sich die verbindung und du versuchst es nochmal, und es klappt wieder nicht, dann ist dein DevC++ im *****
naja, die bugs sind weniger geworden, früher war das viel schlimmer. aber dem devc++ fehlen soviele features, dass ich ihn nicht ernst nehmen kann.
sicher, funktionieren tut alles, aber da kann ich gleich nen editor mit syntaxcoloring nehmen, da ist dann auch kein großer unterschied mehr.
-
Vielleicht sollten wir nochmal ein neues IDE Projekt hier im Forum starten. Das wäre doch mal interessant und sinnvoll, weil es noch keine vernünftige IDE für freie Compiler gibt. Sind irgendwie alle nicht so das gelbe vom Ei.
-
Shade+<Idee>: Sagt mal eure sagen wir Top 5 der Anforderungen an eine IDE, die ein einfacher Editor mit Syntaxhighlighting und Auto-Einrückung nicht erfüllt.
-
Wie kann man mit einem normalen Editor seine Projekte verwalten? Soll man dann mit makefiles arbeiten oder wie hast du dir das vorgestellt?
-
Original erstellt von Bashar:
Shade+<Idee>: Sagt mal eure sagen wir Top 5 der Anforderungen an eine IDE, die ein einfacher Editor mit Syntaxhighlighting und Auto-Einrückung nicht erfüllt.debugger :p
aber das meintest du ja nichtprojekte - auch mehrere projekte in einem arbeitsplatz
kompilieren mit verschiedenen einstellungenauflistung der funktionsargumente
auflistung der methoden eines objektes
(das spart sehr viel zeit)per tastendruck zur nächsten funktiosn deklaration springen
zwischen implementation/deklaration hin und her springen können
outlining wäre auch praktisch
auto vervollständigung von funktionen und variablen finde ich auch praktisch
-
Du kannst auch einfach ein "Tool" (Tools/Cusomize...) definieren, mit dem du den gcc, bzw. ein Batchfile dafür aufrufst.
Natürlich ist das Visual Studio dann zu einem überteuerten Editor degradiert. Aber sieht wenigsten professionell aus.
-
Nicht dass du das falsch verstehst, ich will nicht gegen IDEs zu Felde ziehen, aber mir überlegen, was ich mir mit meinem Emacs an Nachteilen an Land hole, wenn überhaupt und was man so verbessern könnte.
Original erstellt von Shade Of Mine:
**projekte - auch mehrere projekte in einem arbeitsplatz
kompilieren mit verschiedenen einstellungen
**-> make
Abhängigkeitsdeklarationen kann gcc automatisch erzeugen, hab ich nur noch nie benutzt ... vielleicht müßte man das bequemer machen.**
auflistung der funktionsargumente
auflistung der methoden eines objektes
(das spart sehr viel zeit)
[...]
auto vervollständigung von funktionen und variablen finde ich auch praktisch
**OK nette Features, darum hab ich euch schon immer beneidet aber ich hatte noch nie das Gefühl, es zu brauchen. Man hat hier einen prinzipiellen Nachteil von Editor vs. IDE: Ein standalone-Editor kann nicht auf Teile des Compilers zugreifen und hat so in der Regel nur rudimentäres Verständnis der Sprache. Reicht eben nur für Syntaxhighlighting und Autoindenting. Mich würd interessieren, ob das Problem schon irgendwo angegangen worden ist ... das dürften nämlich eigentlich nur VC++ und BCB können, aber IDEs wie kdevelop oder anjuta oder sonstwas ohne integrierten Compiler nicht
**
per tastendruck zur nächsten funktiosn deklaration springen
**geht irgendwie (Meta+( ?), benutz ich nur nie, deshalb weiß ich die Taste nicht
**
zwischen implementation/deklaration hin und her springen können
**dafür gibts IMO etags ... ich habs bisher nur zur Analyse von Fremdsource benutzt
**
outlining wäre auch praktisch
**was ist das?
-
<zwischeneinwurf>
ide benutzen oder nicht... hmm am anfang sollte man ohne, aber @bashar wenn dann dein arbeitgeber eine vorgibt, muss sie durchforscht und ausgenutzt werden, sei es nur, daß im team die gleichen voraussetzungen herrschen, man/frau sich gegenseitig den code erläutern oder debuggen können...
ich bin da pragmatisch, nehme was kommt.
</zwischeneinwurf>
-
Ein Punkt, ohne den ich eine IDE gar nicht erst anfasse:
Baumansicht aller Klassen/Methoden und aller Files.
Ohne das ist das doch nur nervig, gerade wenn man auch mal ein älteres Projekt anfasst und nicht mehr jede Methode im Kopf hat.
Und wenn es dann noch so weit geht wie im neuen VC7, wo auch die Namespaces in der Baumansicht einen eigenen Node bekommen... das ist wirklich sehr gut. Räumt in der Übersicht gewaltig auf.
Falten von Funktionen ist auch nett, d.h. Wegklappen des Rumpfes.
Weiterhin benötige ich eine weitgehende automatisierte Anbindung an ein Versionskontrollsystem. Da muß sich die IDE drum kümmern, will ich nicht mehr von Hand machen.
Mein Favorit ist daher die VC7-IDE, aber mir gefällt KDevelop auch sehr gut.
-
Original erstellt von Bashar:
was ist das?ich kenn es leider nur unter dem namen outlining.
das ist, wenn du einige source code zeilen wegklappst - so dass sie nicht mehr da sind.
vorallem praktisch wenn du die ganzen funktionskörper wegklappst
-
jo, habs gestern noch im Emacs gefunden, nennt sich outline-mode mal sehn was das so kann
-
meine anforderungen an eine ide, sagen wir mal die wichtigsten:
- klassen/funktionsbäume darstellen
- verwaltung von mehreren projekten in einem grossen projekt
- plug-in schnittstelle für 3rd party tools wie analyse u.ä.
- frei konfigurierbare tastarturbelegung
- durchdachte darstellung und ansichten im debugger
- ordentliche quellcodeverwaltung und highlighting ist klar
- anbindung an version control ist nett aber nicht zwingend
und da gibts im moment einfach nur eine, die diese dinge mitbringt ... MS VS 6.0 bzw. 7.0
borlands c-builder scheiterte bei mir an punkt 3) und 5)
das mal aus der erfahrung eines "berufs-proggers" ... wers wissen will
so far ... rocknix ///
-
hab mal etwas geforscht:
Emacs hat einen Klassen/Funktionsbrowser namens ebrowse
Outline gibts in mehreren Formen, am interessanten sah der hs-minor-mode aus ...
Vervollständigen gibts auch in mehreren Formen (M-tab bzw. complete-symbol)
von einer Funktion zur nächsten springen hat er, aber mit IMHO ziemlich bescheuerter Erkennung, was eine Funktion ist ... dafür kann man das Programm als verschachtelte Liste (jeweils durch ()[]{} eingefaßt) auffassen und darin wie in einem Baum navigieren (up, down, next, prev) ... auch den aktuellen Baumknoten markieren oder zwei vertauschen -- obwohl das wahrscheinlich eher im Lisp-Mode gebraucht wird.Rocknix: bis auf 2) worunter ich mir nix vorstellen kann, sowie 1) und 5), wo ich deine Anforderungen nicht beurteilen kann, kann Emacs das alles.
PS: Ich will keinen Überreden, nur mir auch nicht einreden lassen ich würde unterlegene Tools verwenden :p
-
Ich denke, dass man den Emacs fast schon als IDE bezeichnen kann. Der Emacs ist eben der beste Editor der Welt (zumindest der umfangreichste). Die Features, die der Emacs nicht hat, kann man ihm mehr oder weniger leicht mit Emacs Lisp hinzufügen (muss man nur erst mal lernen ).
Wenn man von Editor spricht, glauben viele an soetwas wie vi oder Notepad.
(vim kann man sicher auch so einrichten, dass der das alles kann.)
BTW.
nutze ich glaub ich nur 1/8 der Emacs Funktionen@marc++us
Weiterhin benötige ich eine weitgehende automatisierte Anbindung an ein Versionskontrollsystem.
das kann der Emacs auch