Forum: PC-Programmierung GNU C++ Compiler in Windows


von Yogi (Gast)


Lesenswert?

Moin,

ich nutze Scipy und PyQT für ein Datenerfassungprogramm und möchte damit 
auf DAQ-Hardware zugreifen. Vom Hersteller gibt es Linux-Bibs. Diese 
sind in C++14 geschrieben.

Ich habe bisher nur unter Linux programmiert.

Ich möchte mit BoostPython die Klassen/Funktionen vom Hersteller meinem 
Python-Programm übergeben. Es gibt vom Hersteller eben diese DLL um die 
ich jetzt mein BoostPython-C++-Programm schreiben möchte. Ich möchte 
aber kein VS Studio oder so installieren, sondern etwas zum Linux G++ 
Compiler ähnlichen und dann per Kommandozeile bauen. Sollte ja bei einer 
DLL die ich includen muss nicht so komplex sein, dass ich dazu eine IDE 
brauche.

Als Compiler habe ich den MinGW64 gefunden, der scheint mir aber 
überholt? Weiterhin habe ich MSYS2 gefunden, aber auch das scheint nicht 
so gepflegt zu werdne. Wichtig wäre mir hier eine nachhaltige Toolchain. 
Gibt es da aktuell Empfehlungen?

Cheers,
Yogi

von Ergo70 (Gast)


Lesenswert?

Das wird schon regelmäßig gepflegt, nur hinkt es dem ‚Linux-gcc‘ immer 
ein paar Versionsnummern hinterher. Ist halt Aufwand, den ganzen Kram 
auf Windows zu portieren. Funktioniert aber gut. Msys ist übrigens eine 
minimale Umgebung mit bash, make etc. für den eigentlichen 
mingw-Compiler.

von Torsten R. (Gast)


Lesenswert?

Du kannst den Visual Studio Compiler auch von der Comando-Zeile aus 
benutzen (cl.exe)

von Dr. Sommer (Gast)


Lesenswert?

Visual Studio unterstützt mittlerweile auch C++14, und erzeugt i.A. 
effizientere Windows-Binaries als die diversen GCC-Varianten. Es ist 
also durchaus nicht verkehrt das auch in Betracht zu ziehen.

von Yogi (Gast)


Lesenswert?

Visual Studio ist mir eben ein zu mächtiges Softwarepacket.
Ich würde den Code mit Notepad++ schreiben und per Kommandozeile 
kompilieren. So mache ich es auch unter Linux und kann meinen Krempel 
ggf. auch auf meiner Linuxmaschine bauen.

Sollte ich mich doch um entscheiden, wo finde ich denn Infos über den 
VS-Compiler? Wird der Code direkt übersetzt, oder wie bei C# in CLI, was 
dann ausgeführt wird?

von derMosphet (Gast)


Lesenswert?

Der Visual Studio Compiler ist ein ganz normaler C++ Compiler wie der 
gcc auch, nur halt von Microsoft. Die aktuellste Version ist unter 
https://www.visualstudio.com/de/downloads/?rr=http%3A%2F%2Flandinghub.visualstudio.com%2Fvisual-cpp-build-tools 
ganz unten als "
Build Tools für Visual Studio 2017" zu finden.

von Jim M. (turboj)


Lesenswert?

Yogi schrieb:
> Weiterhin habe ich MSYS2 gefunden, aber auch das scheint nicht
> so gepflegt zu werdne.

Wie kommst Du auf das dünne Brett? Pacman installiert Dir einen einen 
GCC 7.3.0, neuer geht derzeit nicht.

Der Installer enthält nur ein schmales Basissystem, das sich selbst (via 
pacman) updaten und neue Software installieren kann.

Da ist auch ein vi oder nano als Editor verfügbar, falls man die unter 
Linux gewohnt ist.

von Ivo -. (Gast)


Lesenswert?

Hallo,
Ich würde dir den MinGW empfehlen, da du ja keinen Hochleistungscode 
schreiben wirst, reicht der völlig, ich habe ihn als ich noch Windows 
hatte, auch benutzt, inzwischen habe ich Linux und den GCC.

Ivo

von Vincent H. (vinci)


Lesenswert?

MinGW64 beinhaltet aktuell GCC 7.2.0 was ich so seh. Das is jetzt nicht 
brandaktuell, aber selbst C++17 ist da imho in vollem Umfang drin.

von Oliver S. (oliverso)


Lesenswert?

Ivo Z. schrieb:
> inzwischen habe ich Linux und den GCC.

Die üblichen Verdächtigen unter den Linuxddistributionen kommen mit 
steinalten gcc's. Da sind die gcc's in den minGW-Versionen für Windows 
bei weitem aktueller.

"Hochleistungscode" gibts unter Linux nur, wennman da toolchains selber 
bastelt.

Oliver

: Bearbeitet durch User
von Ivo -. (Gast)


Lesenswert?

Oliver S. schrieb:
> Ivo Z. schrieb:
> inzwischen habe ich Linux und den GCC.
>
> Die üblichen Verdächtigen unter den Linuxddistributionen kommen mit
> steinalten gcc's. Da sind die gcc's in den minGW-Versionen für Windows
> bei weitem aktueller.

Die aktuelle kann man ja installieren...

Gruß Ivo

von Kaj (Gast)


Lesenswert?

Oliver S. schrieb:
> Die üblichen Verdächtigen unter den Linuxddistributionen kommen mit
> steinalten gcc's.
Tja, wenn man nichts anderes kennt als Debian, und Distros die darauf 
aufbauen, dann mag das so sein.
Fuer mich gehoeren zu "den ueblichen verdaechtigen" aber auch Arch und 
Gentoo, und da ist das definitiv nicht so.

von genervt (Gast)


Lesenswert?

Yogi schrieb:
> Visual Studio ist mir eben ein zu mächtiges Softwarepacket.
> Ich würde den Code mit Notepad++ schreiben und per Kommandozeile
> kompilieren. So mache ich es auch unter Linux und kann meinen Krempel
> ggf. auch auf meiner Linuxmaschine bauen.

Das ist natürlich ein gewichtiges Argument. Notepad++ ist aber auch 
schon recht mächtig.

> Sollte ich mich doch um entscheiden, wo finde ich denn Infos über den
> VS-Compiler? Wird der Code direkt übersetzt, oder wie bei C# in CLI, was
> dann ausgeführt wird?

Bloß nicht Visual Studio!!! Viel zu mächtig. Programmier direkt im 
Speicher (kein Assembler, zu mächtig!) und nimm Jumper, DIP-Schalter 
oder Lochkarten zur Programmeingabe. Alles andere ist sinnlose 
Resourcenverschwendung!

von guest (Gast)


Lesenswert?

Yogi schrieb:
> Sollte ich mich doch um entscheiden, wo finde ich denn Infos über den
> VS-Compiler?

Bei Microsoft :)
Als Einstieg z.B.:
https://msdn.microsoft.com
oder:
https://docs.microsoft.com

Wenn man sich weiter durchhangelt:
https://docs.microsoft.com/en-us/cpp/build/building-on-the-command-line

Wenn Dir das komplette Visual Studio zu mächtig ist, wie derMosphet 
weiter oben schon schrieb gibt es die Compiler auch ohne IDE als "Build 
Tools for Visual Studio 2017"

von Ivo -. (Gast)


Lesenswert?

genervt schrieb:
> Programmier direkt im
> Speicher (kein Assembler, zu mächtig!) und nimm Jumper, DIP-Schalter
> oder Lochkarten zur Programmeingabe. Alles andere ist sinnlose
> Resourcenverschwendung!

Ein guter Witz, das ist allerdings nicht wirklich ressourcenschonend, 
wenn man bedenkt, wie viele Kalorien und Hirnzellen dabei draufgehen ;-)

von Dr. Sommer (Gast)


Lesenswert?

Das Visual Studio ist eine sehr ausgereifte und mächtige IDE. Damit kann 
man sehr gut arbeiten sowohl bei einfachen als auch komplexen 
Aufgabenstellungen, und mittlerweile ist die standardkonforme 
Unterstützung von C++ deutlich besser, es werden auch aktuelle 
Sprachstandards unterstützt. Es lohnt sich kaum darauf zu verzichten - 
sollte man die paar Gigabytes die das an Festplattenplatz braucht 
tatsächlich nicht haben, kriegt man den Kauf einer größeren Platte durch 
die gesparte Arbeitszeit bald wieder rein. Zudem kompiliert MSVC 
schneller und erzeugt kleinere .exe-Dateien als MinGW. Diese sind auch 
besser kompatibel zu anderen Windows-Bibliotheken ( -> 
Exception-Support). Nur mit Notepad++ ohne richtiges "IntelliSense" und 
grafischen Debugger zu arbeiten ist da vergleichsweise mühsam. Als 
Student kriegt man über MSDNAA die Vollversionen auch oft gratis.
Natürlich ist es aber auch nicht verkehrt seine Programme mal mit GCC 
und/oder Clang zu kompilieren, um zu schauen wie Standard-Konform sie 
sind.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Dr. Sommer schrieb:
> Als Student kriegt man über MSDNAA die Vollversionen auch oft gratis.

Die kostenlose "Community Version" ist auch für Nicht-Studenten 
kostenlos und vom Funktionsumfang mehr als ausreichend.

von genervt (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Die kostenlose "Community Version" ist auch für Nicht-Studenten
> kostenlos und vom Funktionsumfang mehr als ausreichend.

Verarscht den Armen doch nicht so. VS ist ihm zu mächtig. Er will was, 
das WENIGER als ausreichend ist.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.