In einem früheren Artikel hatte ich die Kühnheit, CLion als IDE zu verwenden. Und dann kam ein Mann mit einer Frage angerannt: Oh, ein proprietäres bezahltes Handwerk, ausverkauft, gekichert usw. Fairerweise gab es nur einen solchen Kommentar zu Habré, aber in Wirklichkeit gibt es Tausende von ihnen. Zum Beispiel das letzte aktive LOR- Konto, das ich seit 2010 registriert habe, und in fast jeder Diskussion über proprietäre Software beginnt diese Hölle. Es ist klar, dass ich niemandem etwas beweisen werde, aber es kann seltenen Wanderungen in der Vergangenheit helfen.
Der Artikel ist bedingt in zwei Teile unterteilt: sozial motivierend und technisch (wie man CMake unter Windows unter verschiedenen IDEs erstellt).

Wo ist das alles geblieben?
Dieser Kommentar aus dem letzten Artikel war die Grundlage des Artikels : "Wenn der Podcast für Anfänger und Laien gedacht ist, warum haben Sie dann nicht die IDE-Lizenz berücksichtigt :(" und im Folgenden.
Der Artikel basiert auf den Ergebnissen eines Twitch-Streams und Ihrem Feedback dazu. Die Aufzeichnung ist auf YouTube. Dieser Artikel ist keine Abschrift eines Podcasts, sondern ein Produkt des Verständnisses.
Quellnachricht
Lassen Sie uns zunächst die Gültigkeit der ursprünglichen Annahme überprüfen: Software ist teuer. Wenn Sie auf die Website gehen, stellt sich heraus, dass CLion 8,90 Dollar pro Monat kostet. 580 Rubel. Es ist klar, dass für eine Person, die nicht für ihren Lebensunterhalt programmiert, dies manchmal einen anständigen Betrag anzeigen kann, der für etwas Nützlicheres ausgegeben werden kann. Kaufen Sie zum Beispiel eine Mahlzeit.
Für einen Profi ist alles ganz anders, aber lassen wir dieses Thema. Ein Journalist unterscheidet sich von einem Mitarbeiter der Marketingabteilung eines Software- oder Spieleherstellers dadurch, dass er die Parteipolitik nicht fördert und keine Schritte unternimmt, um für das Produkt zu werben. Er spricht wie es ist. Wie ist das alles wirklich, wie sieht ein Journalist wirklich eine Frage. Das gleiche gilt für echte Evangelisten.
Die Essenz der Phänomene und die Reihe der Jahre,
Gesichter von Freunden und Masken von Feinden,
Gut sichtbar und kann sich nicht verstecken
Aus den Augen des Dichters - des Besitzers von Jahrhunderten.
Das Licht entfernter Sterne und der Beginn der Morgendämmerung
Die Geheimnisse des Lebens und die Geheimnisse der Liebe
In einem Moment der Inspiration, erwärmt von der Sonne -
Alles spiegelt sich in den Seelen des Dichters wider -
Im Spiegel der Welt ...
(c) Konstantin Nikolsky, Spiegel der Welt
Wenn es wirklich interessant ist, wie CLion Ihr Einkommen erhöht, finden Sie jemanden, mit dem Sie Kontakt aufnehmen können, und hier sprechen wir über etwas anderes.
Typologie
Betrachten Sie stattdessen Gruppen von Menschen, die so viel wie möglich von geschlossener Software bombardiert werden.
Wie Sie bereits verstanden haben, bin ich kein Nifiga, kein Soziologe, und ich habe nur die Typologie, die sich in der Hitze der Forum-Showdowns entwickelt hat. Es hat nur den Vorteil, dass es möglich ist, eine Person einer bestimmten Gruppe praktisch zuzuordnen, ohne das Gehirn einzubeziehen, indem man sich die ersten beiden Kommentare ansieht.
Die Leute sind also:
- Freiheitskämpfer und Open Source
- Ehrlich gesagt falsch
- Tiere
Ich schlage vor, die Unrichtigkeit des Autors nicht zu berücksichtigen. Ich bin eine andere Sache .
Freiheitskämpfer und Open Source
Die reinsten und hellsten sind die Kämpfer für den Openor. Ich selbst bin einer von denen, die, nachdem sie das Wort "Linux" gehört haben, ständig korrigieren, "nicht Linux, sondern GNU / Linux". Das Problem ist, dass die reale Welt niemals schwarz und weiß ist. Wir haben ein gewisses Maß an Freiheit, und dies ist eine Ressource, die bei Bedarf genutzt werden kann. Wie jemand vom Mozilla-Management scherzte (oder nicht), "warum brauchen wir einen Vertrauenskredit, wenn wir ihn nicht ausgeben?".
Beispiel: Es gab eine solche Person, Miguel de Icaza. Er hat Gnome gemacht und war am Aufbau eines zerstörerischen GNU / Linux beteiligt, wie wir es kennen. Und dann wurde er aus der Gemeinde vertrieben, und Stallman nannte ihn einen „Verräter der Freiheit“:
„Miguel de Icaza ist im Wesentlichen ein Verräter der Community für Freie Software. <...> Das Projekt zielt darauf ab, die Funktionsweise von angeblich "Open Source" -Programmen auf der Windows-Plattform zu regeln. Daher wird die unschätzbare Zeit der Entwickler auf freien Plattformen verbracht. “
Und wo ist Miguel jetzt? Er und sein Team arbeiten Seite an Seite mit einem der größten Projekte der letzten Jahre - der Portierung von .NET auf GNU / Linux unter zulässigen Lizenzen. Er hat wirklich seine Zeit verbracht.
Im Stream habe ich mindestens zwanzig Minuten getötet, um CMake unter Visual Studio Code zu stolpern. Hat nicht funktioniert. Und im kostenlosen, aber nicht kostenlosen Visual Studio stellte sich heraus, dass es das erste Mal war. Genau das bekommen wir so oft, wenn wir versuchen, freie Software zu verwenden: In Open Source bleibt aus offensichtlichen Gründen keine Zeit, End-to-End-Skripte zu durchdenken und sich um das gesamte Produkt zu kümmern. Vielen Dank an die Entwickler, die zumindest etwas getan haben. Aber für uns als Benutzer haben wir immer noch eine moralische und ethische Wahl: Entweder wählen Sie die Freiheit und verbringen viel Zeit damit, freie Software zu treten, oder im Gegenteil, wir verbringen unsere Freiheit damit, Zeit zu kaufen, die dann für einige gute Taten ausgegeben werden kann.
Da dieses Problem den Rahmen technischer Probleme sprengt, werden wir hier enden. Ein wahrhaft ideologischer Mensch ist seiner Idee treu.
Tiere
Oh, aber diese Kategorie bombardiert mich.
"Die spezifischen Merkmale eines Menschen, die ihn von anderen Tieren unterscheiden, sind eine aufrechte Haltung, ein hoch entwickeltes Gehirn, das Denken und die artikulierte Sprache. Ein Mensch studiert und verändert sich selbst und die Welt um ihn herum, schafft eine Kultur und seine eigene Geschichte." (c) Wikipedia .
Leider stellt sich in einem Gespräch über die IDE oft heraus, dass der Gesprächspartner nicht in der Lage ist, unabhängig zu denken. Statt Sprache zu artikulieren, murmelt er "und ich habe bereits Normen" und isst, was sie geben. Aufgrund der aufrechten Haltung ist es leicht, sie mit einer Person zu verwechseln, aber machen Sie keinen Fehler.
Diese Kreaturen reiten alles zu irgendjemandem. In Spielen verkaufen sie Beutekisten und DLC mit nostalgischer Musik. In den Redakteuren werden verschiedene anal besetzte Dinge behandelt, mit dem Ziel, den Patienten an eine bestimmte Umgebung, ein bestimmtes Ökosystem und so viel zu binden, dass kein Phenazepam benötigt wird. Sie werden alles essen. "Und so sind die Normen für mich."
Es ist wichtig hinzuzufügen, dass nicht nur Vermarkter auf ihren Ohren fahren, sondern auch nur Trolle oder natürliche klinische Schizics. Es gibt viele Schizos, Sie werden nicht glauben, wie viel.
Erinnern Sie sich zum Beispiel an das Manifest, das Nikitonsky kürzlich veröffentlicht hat (genauer gesagt seine Übersetzung in Habr): Meine Enttäuschung über Software ? Wie ich von ihm bombardiert werde. Ich hoffe aufrichtig, dass Nikitonsky all dies geschrieben hat, um es wissentlich zu berühren, und nicht wirklich.
Schauen Sie, welche Thesen es gibt:
- Alles ist unerträglich langsam - ein modernes Telefon ist leistungsfähiger als Computer, die Menschen zum Mond geschickt haben;
- Alles ist riesig - Android wiegt 6 Gigabyte;
- Alles verrottet - alte Geräte funktionieren nicht oder schlecht;
- Schauen Sie sich im Programmier-Chaos die Abhängigkeitsgraphen in npm und im linken Feld an.
Trolling ist Trolling, aber es ist jemandem vielleicht nicht bekannt, dass die Größe des Quellcodes „die Person zum Mond gebracht hat“, dh Apollo 11, so dass der Autor sie kaum lesen möchte.

Dass moderne Betriebssysteme jede Ausrüstung definieren und für jeden Anlass alles bieten. Dass die Verlangsamung der Geräte zu einer wunderbaren Situation führte, als sich die Merissa-Kapitalisten bückten und Eisen auf ein modernes Niveau entwickelten, dank dessen wir für alle Gelegenheiten ein Megadevice in der Tasche haben. Auch Handtücher sind nicht nötig, es ist bei Google Play. Das erwähnte npm ermöglicht es einem gewöhnlichen Menschen, Dinge von unvorstellbarer Komplexität zu schreiben, die Jahre zuvor dauern würden.
Und dann, zu all diesen Kameraden, die "essen, was sie geben", fliegen mir plötzlich Mega-Ideen aus der obigen Liste in den Kopf. Lassen Sie uns auf die IDE erweitern:
- Bei Anwendungen auf Electron (Visual Studio Code, Atom) werden Buchstaben zu langsam auf dem Bildschirm angezeigt, unabhängig davon, ob es sich um Vim oder Emacs handelt.
- Die Eclipse-IDE wird langsamer.
- Im Allgemeinen verlangsamt sich Java - zusammen mit allem, was darauf geschrieben ist, einschließlich NetBeans, IDEA und Clion;
- Jede IDE, die langsamer wird, frisst einfach so Prozent.
- Eigentum ist böse;
- Die Liste geht weiter.
Diese Liste reicht bereits aus, um das Dach zu überholen. Glaube keinem Müll. Wenn vim in einigen Fällen besser ist als Eclipse (oder umgekehrt), liegt dies definitiv nicht daran, dass die Nachbarn Vimers mit einer Mikrowelle bestrahlen und Außerirdische nachts Eclipser entführen.
Leider wurde durch lange vernetzte Kriegskriege genau festgestellt: Hier kann es keinen Dialog geben. Für Mensch - Mensch und Tier - Tier. So ist das Leben arrangiert. Die Wahrscheinlichkeit, dass jemand diesen Artikel liest und seine Meinung ändert, ist äußerst gering und wird verbessert .
Ehrlich gesagt falsch
Jetzt sind wir mit Extremen fertig: Besonders klug von der Stallman-Sekte auf der einen Seite des Spektrums und nicht sehr klugen Tieren auf der anderen Seite, lassen Sie uns über gewöhnliche Menschen sprechen.
Das erste Missverständnis ist, dass wir irgendwie an die IDE genagelt sind. Es ging aus der Zeit, als die Leute eine Art Delphi 7 und alte Versionen von Microsoft Visual Studio verwendeten. Sie sagen, dass im neuen Vizhualka alles in Ordnung mit den Projektdateien war. Hallo, jetzt ist das Jahr 2018, es gibt keine Sklaverei mehr.
Um die Sklaverei loszuwerden, haben wir CMake von oben erhalten: ein plattformübergreifendes Open-Source-Dienstprogramm, mit dem Sie Anwendungen erstellen, testen und verpacken können.
Es sagt dem Neuling immer noch nichts und seine Arme greifen nach der IDE. All dies aus Angst und Missverständnissen darüber, was passiert. Ich selbst komme aus Java und weiß daher genau, wie sich die Augen einer Person, die pom.xml
zum ersten Mal gesehen hat, zum ersten Mal erweitern.
Lassen Sie uns herausfinden, woraus das zuletzt erstellte Projekt besteht und wie es in allen möglichen IDEs erstellt werden kann.
Dateizusammensetzung:
Der Shader wird direkt zur Laufzeit mit der Funktion D3DCompile kompiliert. Der D3DCompiler aus dem DirectX SDK (das jetzt das Windows SDK ist) funktioniert. Zum Erstellen ist keine IDE erforderlich.
main.cpp
ist die einzige zu erstellende Datei. Und es wird mit Informationen gesammelt, die vollständig in CMakeLists.txt
.
In die entgegengesetzte Richtung: Es gibt CMakeLists.txt
, die uns sagt, was genau wir kompilieren werden. Die Assembly main.cpp
registriert. Dies reicht aus, um das Projekt zu kompilieren. Nach dem Kompilieren wird eine exe-Datei abgerufen, die nach dem Start den Shader sammelt und auf dem Bildschirm anzeigt. Alles ist sehr einfach, die IDE ist nicht an dieser Kette beteiligt und kann alles sein.
IDE ist optional. Im Allgemeinen. Was ist hier unverständlich?
Montage
Vorbereitende Momente
Wie immer nimmt die Vorbereitung den größten Teil des Prozesses ein. Es gibt einige Dinge, die geklärt werden müssen.
Es wird davon ausgegangen, dass alles auf der Basis von Msys2 erfolgt, das wir zuletzt installiert haben . Wenn dies nicht der Fall ist, müssen Sie sich entwirren :)
So installieren Sie CMake und Ninja
Um etwas sammeln zu können, müssen Sie CMake installieren, sofern Sie dies noch nicht getan haben.
- Download von der Website: https://cmake.org/download . Ich habe cmake-3.12.2-win64-x64;
- Entpacken Sie den Pfad und fügen Sie ihn an der Stelle hinzu, an der cmake.exe in der Windows-Umgebungsvariablen PATH liegt.
- Laden Sie den Ninja-Generator der neuesten Version von der Website herunter.
- Auspacken und auch irgendwo in den PFAD legen.
Wie man PATH bearbeitet, um nicht als Kuckuck zu reisen
Der erste Weg ist allen bekannt: win + pause -> Erweiterte Systemeinstellungen -> Erweitert -> Umgebungsvariablen. Leider ist dies selbst in Windows 10, in dem der PATH-Variableneditor hinzugefügt wurde, immer noch nicht sehr praktisch.
Wenn Sie häufig mit PATH herumspielen, ist die Verwendung des Standardbearbeitungsfensters sehr ärgerlich. Ich rate Ihnen, den Rapid Environment Editor zu verwenden - er ist kostenlos und spart viel Nerven.
So verbinden Sie DLL von MinGW im Entwicklungsmodus
Um die Anwendung zu starten, benötigen Sie DLL-Dateien von mindestens mingw64\bin
.
Leider konnte ich keine wirklich bequeme Lösung finden, um Bibliotheken von MinGW nach PATH zu werfen. Wenn ein Weiser in den Kommentaren sagen kann, werde ich sehr dankbar sein.
Der einfachste Weg ist jetzt, das MinGW-Bin-Verzeichnis direkt an die erste Stelle in PATH anzuhängen. (Im Fall von Visual Studio können Sie Bibliotheken einfach in das Assembly-Verzeichnis ablegen.) Leider hat diese Methode ein großes Minus: Ein Teil der Software in Windows fällt unmittelbar nach der PATH-Änderung ab. Zum Beispiel hat Overwatch aufgehört, für mich zu arbeiten, und das ist eine völlig fatale Sache.
Wenn Sie wie ich in einem Computer leben und ihn nicht nur während der Geschäftszeiten einschalten, wird das folgende Schema vorgeschlagen: Fügen Sie vor dem Programmieren MinGW zu PATH hinzu und entfernen Sie es dann. Um den Vorgang zu vereinfachen, müssen Sie zwei Batchdateien erstellen, die durch Doppelklicken gestartet werden können:
before.bat:
setx path "Z:\msys64\mingw64\bin;
after.bat:
setx PATH "%PATH:Z:\msys64\mingw64\bin;=%"
So verbinden Sie DLL im Test Release-Modus
Es ist klar, dass die vorherige Methode nur funktioniert, wenn sich mingw64\bin
in PATH befindet, mingw64\bin
nur auf dem Computer des Entwicklers. Und selbst dort möchten Sie PATH nicht immer verstümmeln. Wenn es einen gewöhnlichen Menschen (oder uns selbst nach after.bat) startet, dann so etwas wie:


Der einfachste Weg, um dieses Problem zu lösen, besteht darin, die erforderliche DLL neben die ausführbare Datei zu stellen. Aber dafür müssen Sie wissen, welche DLLs verwendet werden!
Wir haben bereits einige von Microsoft erstellte Dienstprogramme dafür.
- Eine vollständige Liste einer laufenden Anwendung kann mit ListDLLs angezeigt werden , zeigt jedoch nicht an, was noch nicht geladen ist.
- Wenn Sie
dumpbin /dependents "Z:\game\build\Mingw64-Debug\src.exe"
-> Visual Studio-Eingabeaufforderung, dumpbin /dependents "Z:\game\build\Mingw64-Debug\src.exe"
, wird nur die DLL der ersten Ebene angezeigt. Mit anderen Worten, wenn Sie nur das beenden, was der Dumpbin Ihnen sagt, treten nach dem Start immer noch Fehler auf - es handelt sich lediglich um andere DLLs.
Um die Abhängigkeiten eingehend zu untersuchen, gibt es ein solches Skript , das direkt über die Befehlszeile ausgeführt werden kann (msys2, cygwin usw. - genug, um Python2 / 3 und objdump darin zu installieren).
- Laden Sie das Skript mingw-bundledlls herunter.
- Neben die Datei stellen,
- In einem Texteditor in der
blacklist = [
Array blacklist = [
fügen Sie unsere DirectX-Teile hinzu: d3d10.dll, d3d11.dll, d3dcompiler_43.dll
, chmod 755 ./mingw-bundledlls
,- So zeigen Sie die verwendeten
./mingw-bundledlls ./src.exe
: ./mingw-bundledlls ./src.exe
(also jede ausführbare Datei, an der Sie mehr interessiert sind), - So kopieren und kopieren
./mingw-bundledlls --copy ./src.exe
: ./mingw-bundledlls --copy ./src.exe
- GEWINN: Die ausführbare Datei wird einfach so gestartet, indem Sie auf die exe-Datei doppelklicken und in Visual Studio.
Es gibt immer noch verschiedene knifflige Möglichkeiten, CMake mit dem Kopieren der DLL selbst zu beauftragen. Wenn Sie sich jedoch mit Verteilungsproblemen befassen, können Sie diesen Artikel niemals fertigstellen.
Manuelle Montage
- before.bat
- Start -> Ausführen -> cmd.exe
cd /dz://game/src
cmake -G "Ninja" -D EXECUTABLE_OUTPUT_PATH="bin" -D CMAKE_CXX_COMPILER="Z:/msys64/mingw64/bin/g++.exe" -D CMAKE_C_COMPILER="Z:/msys64/mingw64/bin/gcc.exe" .
- Ninja
- Führen Sie die in bin generierte Datei sofort aus oder hängen Sie die DLL gemäß den obigen Anweisungen an und führen Sie after.bat aus
Wir haben bewiesen, dass wir überhaupt nicht an die IDE gebunden sind.
In Visual Studio erstellen
Dennoch ist die Entwicklung ohne IDE nicht das Richtige. Beim letzten Mal haben wir bereits eine Testanwendung mit CLion zusammengestellt. Aber das ist bezahltes Eigentum und zashkvar, richtig? Vergiss es. Jetzt nur noch frei.
In Visual Studio ist die Reihenfolge der erforderlichen Aktionen sehr einfach.
- before.bat
- Starten Sie Visual Studio.
- Datei -> Öffnen -> CMake;
- Wählen Sie CMakeLists.txt aus.
- Der Visualizer denkt nach und zeigt das Projekt eine Weile an.
- Hauptmenü -> Cache -> Generieren -> Projektname;
- Wir schauen uns die Ausgabe an und beheben die Fehler (zum Beispiel habe ich bei der CMake-Version geschworen, sie auf 3.11 anstatt auf 3.12 zu senken);
- Hauptmenü -> CMake -> CMake-Einstellungen ändern (MinGW64-Debug auswählen);
- Eine CMakeSettings.json-Datei wird automatisch im Projekt generiert. Wir geben dort den Pfad zu MinGW an (ich hatte ihn im vorherigen Video "Z: \ msys64 \ mingw64"), speichern Sie die Datei;
- Hauptmenü -> Cache -> Generieren -> CMakeLists.txt;
- Hauptmenü -> Cache -> Generieren -> Projektname;
- Wenn alles korrekt ausgeführt wurde, wird im Menü Wählen Sie ein gültiges Startelement aus (neben dem grünen Pfeil zum Starten der Anwendung) ein Element mit dem Namen des Projekts angezeigt.
- Wir fangen an.
Wie bei der Konsole können Sie sie entweder richtig starten (wobei Sie sich daran erinnern, dass sich MinGW in PATH befindet) oder after.bat ausführen und die erforderlichen DLLs gemäß den Anweisungen einfügen. Die DLL muss direkt in dem Verzeichnis abgelegt werden, in dem sich die Anwendung befindet. Sie kann im Parameter buildRoot in der Datei CMakeSettings.json angegeben werden.
Also, meine Herren, das Wichtigste: In Visual Studio wird alles perfekt kompiliert und ausgeführt. Wir haben bewiesen, dass wir nicht an eine kommerzielle IDE gebunden sind.
Erstellen Sie Visual Studio-Code
Leider ist Visual Studio immer noch keine proprietäre Closed-Source-Software. Wir müssen zu etwas Freierem übergehen, und dies ist Visual Studio Code.
Erster lustiger Mindfak. Wenn Sie VSCode auf einem Monitor mit großer Skalierung ausführen (ich sitze beispielsweise zu Hause und sehe fern), wird die VSCode-Oberfläche zu einem Chaos. Um dies zu verhindern, müssen Sie es mit dem Schlüssel --force-device-scale-factor
( --force-device-scale-factor
eine Verknüpfung zum Desktop oder ähnliches).
Leider habe ich das PATH-Management für VSCode nicht beherrscht. Der einzige Weg, es zu starten, besteht darin, PATH mit before.bat und einem weiteren Hack zu ändern, den ich unten beschreiben werde.
Als Nächstes müssen Sie VSCode konfigurieren.
- CMake Tools installieren: Ansicht -> Erweiterungen -> Geben Sie in der Suche "CMake Tools" ein und klicken Sie auf "Installieren" vor dem Paket, das der Vector-of-Bool-Autor erstellt hat.
- Ansicht -> Explorer -> Ordner öffnen (wählen Sie das Verzeichnis mit unserem Projekt aus);
- Befehlspalette (CP, Tastenkombination Strg + P) -> "> CMake: Nach Kits suchen";
- Wählen Sie unser "GCC 8.2.0", zu dem es an den richtigen Ort führt, an dem msys2 installiert ist oder was Sie dort verwenden.
- Datei> Einstellungen> Einstellungen;
- Gehen Sie zur Registerkarte Benutzereinstellungen.
- Klicken Sie auf die drei Punkte in der oberen rechten Ecke des Bedienfelds und wählen Sie "Open settings.json" aus dem Menü.
- Fügen Sie die folgenden Optionen hinzu:
"cmake.configureOnOpen": true, "terminal.integrated.shell.windows": "D:/msys64/usr/bin/bash.exe", "terminal.integrated.shellArgs.windows": [ "-i" ], "terminal.integrated.env.windows": { "PATH": "/mingw64/bin;/usr/local/bin;/usr/bin;/bin;Z:/msys64/bin/;Z:/msys64/usr/local/bin;Z:/msys64/usr/bin;Z:/msys64/bin;Z:/msys64/mingw64/bin/;%PATH%" }, "cmake.buildDirectory": "${workspaceRoot}/build/${buildType}", "cmake.clearOutputBeforeBuild": true, "cmake.generator": "Ninja", "cmake.cmakePath": "C:\\my\\opt\\cmake-3.12.2-win64-x64\\cmake-3.12.2-win64-x64\\bin\\cmake.exe", "cmake.mingwSearchDirs": [ "Z:/msys64/mingw64", ], "cmake.preferredGenerators": [ "Ninja" ], "cmake.loggingLevel": "debug"
- Der Build sollte automatisch erfolgen und der Build wird in das
build
Verzeichnis gefaltet. Wenn dies nicht der Fall ist, müssen Sie mit der Maus auf die Schaltfläche Build
mit dem Zahnrad in der Statuszeile klicken.
Es ist klar, dass Sie dort den Pfad zu mingw und cmake direkt angeben müssen. "Aber ich habe PFAD!" Bitte geben Sie einfach an, dass dies eine ganze Reihe von Problemen lösen wird.
Es gibt jedoch eine exklusive Möglichkeit, PATH nicht zu verwerfen.
"cmake.generator": "MSYS Makefiles"
"cmake.preferredGenerators": [ "MSYS Makefiles"]
- Stellen Sie sicher, dass sich MinGW nicht in PATH befindet (after.bat).
- Stellen Sie sicher, dass Sie das Build-Verzeichnis im Projekt entfernt haben.
- Starten Sie die Msys2-Konsole.
export PATH=/z/msys64/mingw64/bin;$PATH
(Sie können es dann in eine Art "~/.bashrc"
)- Führen Sie VSCode beispielsweise folgendermaßen aus:
"C:\Users\olegchir\AppData\Local\Programs\Microsoft VS Code\Code.exe"
- Und dann ist alles wie vorher. Die Datei sollte normal generiert werden.
- Wenn Sie versuchen, es sofort mit einem Doppelklick aus dem Explorer zu starten, führt dies sofort zu DLL-Suchfehlern. Dies bedeutet, dass alles korrekt ist. Wir verwenden wirklich einen speziellen Pfad innerhalb von VSCode, aber nicht außerhalb.
Wir haben also bewiesen, dass wir in einer kostenlosen IDE auch ganz für uns selbst leben können.
Zusammenfassung
Zusammenfassend gesagt, wenn Sie eine normale Person sind, können Sie CMake, MinGW verwenden und nicht in den Schnurrbart blasen. Alles ist frei tragbar zwischen der IDE, alles funktioniert einfach. Wir können jederzeit jede bezahlte, geschlossene, nicht kostenlose IDE verwenden, und wir werden nichts dafür sein. Aber alle anderen werden leiden, und das zu Recht.
Zukünftige Artikel werden Ihre Meinung berücksichtigen. Sie können Fragen stellen und Vorschläge in den Kommentaren direkt während des Twitch-Streams machen . Ob diese Artikel überhaupt erscheinen, hängt davon ab, wie heftig Sie den Pfeil unter diesem Kommentar nach oben bewegen.
© Alexander Raevsky