Sunrise Sun Manually # 2: Von Hardcore für IDE, Cmake und meiner Enttäuschung mit Tieren

    Der vorherige Artikel hatte die Kühnheit, CLion als IDE zu verwenden. Und dann kam ein Mann mit einer Frage angerannt: ach, ein proprietärer bezahlter Hack, verkauft, kichernd und so weiter. Fairerweise gab es nur einen solchen Kommentar zu Habré, aber in Wirklichkeit gibt es Tausende von ihnen. Zum Beispiel, das aktivste Konto beim HNO , das ich seit 2010 registriert habe, und in fast jeder Diskussion unter Beteiligung einiger nicht-freier Software beginnt diese Hölle. Es ist klar, dass ich niemandem etwas beweisen kann, aber es kann einer seltenen Wanderung helfen.


    Der Artikel ist bedingt in zwei Teile unterteilt: sozial motivierend und technisch (wie CMake in Windows unter verschiedenen IDEs erstellt wird).




    Woher kommt das alles?


    Der Artikel basiert auf diesem Kommentar aus dem vorherigen Artikel : "Wenn der Podcast für Anfänger und Nicht-Profis gedacht ist, warum haben sie dann die IDE-Lizenz nicht berücksichtigt?" Und weiter.


    Der Artikel wurde basierend auf den Ergebnissen des Streams auf Twitch und Ihrem Feedback dazu erstellt. Aufzeichnung ist auf YouTube. Dieser Artikel ist keine Abschrift eines Podcasts, sondern ein Produkt seines Verständnisses.



    Ursprüngliche Nachricht


    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 dies für eine Person, die sich durch Programmieren keinen Lebensunterhalt verdient, manchmal einen anständigen Betrag darstellt, der für etwas Nützlicheres ausgegeben werden kann. Lebensmittel zum Beispiel kaufen.


    Für einen Profi ist alles völlig anders, aber lassen wir dieses Thema. Ein Journalist unterscheidet sich von einem Mitarbeiter der Marketingabteilung eines Software- oder Spieleherstellers dahingehend, dass er keine Party-Richtlinien fördert, keine Schritte unternimmt, um ein Produkt zu fördern. Er sagt, das ist es. Wie das alles wirklich ist, wenn ein Journalist die Frage wirklich sieht. Dasselbe gilt für echte Evangelisten.


    Die Essenz der Phänomene und die Jahre der Kette, Die
    Gesichter der Freunde und die Masken der Feinde,
    Deutlich sichtbar und können sich nicht vor
    dem Blick des Dichters - dem Besitzer der Jahrhunderte - verstecken .

    Das Licht entfernter Sterne und der Beginn der Morgendämmerung,
    die Geheimnisse des Lebens und die Liebesgeheimnisse,
    In der Inspiration von der Sonne warm -
    Alles spiegelt sich in den Seelen des Dichters wider -
    Im Spiegel der Welt ...

    (c) Konstantin Nikolsky, "Spiegel der Welt"

    Wenn Sie sich wirklich fragen, wie CLion Ihr Einkommen erhöht, werden Sie herausfinden, an wen Sie sich wenden sollen, und hier sprechen wir über etwas anderes.


    Typologie


    Betrachten Sie stattdessen eine Gruppe von Menschen, die am meisten von geschlossener Software bombardiert werden.


    Wie Sie bereits verstanden haben, bin ich kein Soziologe, und ich habe nur die Typologie, die in der Hitze von Forenkonflikten entwickelt wurde. Es hat nur den Vorteil, dass es möglich ist, das Gehirn praktisch nicht einzubeziehen, indem eine Person an eine Gruppe verwiesen wird, indem die ersten beiden Kommentare betrachtet werden.


    Die Leute sind also:


    • Kämpfer für Freiheit und Openorts
    • Ehrlich falsch
    • Tiere

    Ich schlage vor, die Variante des falschen Autors nicht zu berücksichtigen. Ich bin eine andere Sache .


    Kämpfer für Freiheit und Openorts


    Am reinsten und am leichtesten sind die Kämpfer für Open Source. Ich selbst bin einer von denen , die das Wort „Linux“ zu hören ist ständig zu korrigieren, „nicht Linux, als GNU / Linux die“ . 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. Jemand aus dem Mozilla-Management scherzte (oder nicht): "Warum brauchen wir Kredit, wenn wir ihn nicht ausgeben?".


    Beispiel: Es gab eine Person, Miguel de Icaza. Er hat Gnome gemacht und den GNU / Linux-Absturz, wie wir ihn kennen, mitgestalten können. Und dann haben sie ihn aus der Gemeinschaft geworfen, und Stallman nannte ihn einen "Verräter der Freiheit":


    „Miguel de Icaza ist im Wesentlichen ein Verräter der Free-Software-Community. <...> Das Projekt zielt darauf ab, den Betrieb von angeblich "Open Source" -Programmen auf der Windows-Plattform zu verbessern. So wird die unschätzbare Zeit der Entwickler von freien Plattformen weggeführt. “

    Und wo ist Miguel jetzt? Er und sein Team arbeiten Seite an Seite mit einem der größten Projekte der letzten Jahre - der Übertragung von .NET auf GNU / Linux unter Lizenzlizenzen. 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 in einem kostenlosen, aber nicht kostenlosem Visual Studio kam es zum ersten Mal heraus. Das ist genau das, was wir so oft bekommen, wenn wir versuchen, freie Software zu verwenden: In Bezug auf Open Source ist es aus offensichtlichen Gründen nicht möglich, über vollständige Skripte nachzudenken und sich um das gesamte Produkt zu kümmern. Vielen Dank an die Entwickler, dass sie wenigstens etwas getan haben. Für uns als Nutzer bleibt jedoch die moralische und ethische Entscheidung: Entweder wählen Sie die Freiheit und verbringen viel Zeit mit freier Software, oder, im Gegenteil, verbringen Sie unsere Freiheit mit dem Kauf von Zeit, die dann für gute Taten verwendet werden kann.


    Da diese Frage über das Lösen technischer Probleme hinausgeht, werden wir hier aufhören. Eine wahrhaft ideologische Person ist ihrer Idee treu.


    Tiere


    Oh, aber aus dieser Kategorie wurde ich bombardiert.


    "Die besonderen Merkmale einer Person, die ihn von anderen Tieren unterscheidet, sind aufgerichtetes, hoch entwickeltes Gehirn, Denken und artikulierte Sprache. Eine Person studiert und verändert sich und die Welt um sich herum, schafft Kultur und seine eigene Geschichte." (c) Wikipedia .

    In einem IDE-Gespräch stellt sich leider oft heraus, dass der Gesprächspartner nicht in der Lage ist, selbstständig zu denken. Statt murmelnder Sprache murmelt er „und ich bin schon normal“ und isst, was sie geben. Aufgrund des aufrechten Ansatzes ist es leicht, mit einer Person zu verwechseln, aber machen Sie keinen Fehler.


    Auf diese Kreaturen gehen alle, die nicht fallen. In den Spielen verkaufen sie Lutboksy und DLC mit nostalgischer Musik. In Redakteuren werden sie auf verschiedene anal besetzte Stücke gepflanzt, um den Patienten an eine bestimmte Umgebung, ein Ökosystem zu binden, und am Ende des Tages ist kein Phenazepam erforderlich. Sie werden alles essen. "Und für mich und so die Norm."


    Es ist wichtig hinzuzufügen, dass nicht nur Vermarkter über die Ohren fahren, sondern auch einfach Trolle oder natürliches klinisches Schizo. Es gibt viele Schizos, Sie werden es nicht glauben.


    Denken Sie zum Beispiel an das Manifest, das Nikitonsky kürzlich (genauer gesagt seine Übersetzung in Habr) veröffentlicht hat: Meine Enttäuschung über Software ? Wie ich es bombardiert habe. Ich hoffe aufrichtig, dass Nikitonsky das alles geschrieben hat, um es zu schaffen, und nicht wirklich.


    Schauen Sie, was Thesen sind:


    • Alles ist unerträglich langsam - ein modernes Telefon ist leistungsfähiger als die Computer, die die Menschen zum Mond geschickt haben;
    • Alles ist RIESIG - Android wiegt 6 Gigabyte;
    • Alles verrottet - alte Geräte funktionieren nicht oder schlecht;
    • Sehen Sie sich bei der Chaos-Programmierung die Abhängigkeitsgraphen in npm und linkem Pad an.

    Trolling ist Trolling, und vielleicht hat jemand nicht gewusst, dass der Quellcode ", der einen Menschen zum Mond gebracht hat", dh Apollo 11, so groß ist, dass der Autor sie kaum lesen wollte.




    Moderne Betriebssysteme definieren jede Hardware und haben für jede Gelegenheit alles dabei. Dass die Inaktivität der Geräte zu einer wundervollen Situation führte, als die Merssianischen Kapitalisten das heutige Niveau des Eisens suchten und entwickelten, dank dessen wir ein Mega-Gerät für alle Gelegenheiten in der Tasche haben. Sogar Handtücher sind nicht nötig, es ist bei Google Play. Die erwähnte npm erlaubt es einem gewöhnlichen Menschen, eine unvorstellbare Komplexität von Dingen zu schreiben, die Jahre dauern würden.


    Und all diesen Kameraden, die „wir essen, was sie geben“, kommen plötzlich Mega-Ideen aus der obigen Liste in meinem 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.
    • Eclipse IDE verlangsamt sich;
    • Im Allgemeinen verlangsamt sich Java - zusammen mit allem, was darauf geschrieben ist, einschließlich NetBeans, IDEA und Clion.
    • Jede IDE verlangsamt den Prozentsatz.
    • Eigen - böse;
    • Die Liste geht weiter.

    Diese Liste reicht bereits aus, um das Dach zu überholen. Glauben Sie keinem Müll. Wenn vim in manchen Fällen besser ist als Eclipse (oder umgekehrt), dann ist dies definitiv nicht der Fall, weil Nachbarn die Vimera mit einer Mikrowelle bestrahlen und Aliens Eclipse nachts entführen.


    Aufgrund der langen vernetzten Sofakriege wurde es leider genau festgelegt: Der Dialog hier kann ignoriert werden. Mensch ist Mensch und Tier ist Tier. So ist das Leben. Die Wahrscheinlichkeit, dass jemand diesen Artikel liest und zur Besinnung kommt, ist äußerst gering und hat sich so stark verbessert .


    Ehrlich falsch


    Jetzt sind wir mit den Extremen fertig: besonders klug von der Stallman-Sekte auf der einen Seite und nicht sehr kluge Tiere auf der anderen Seite, lassen Sie uns über gewöhnliche Menschen sprechen.


    Das erste Missverständnis ist, dass wir irgendwie an einer IDE festgenagelt sind. Seit den Zeiten, in denen Delphi 7 und ältere Versionen von Microsoft Visual Studio verwendet wurden, ist dies nicht mehr der Fall. Sie sagen, dass in der neuen Vizhalka alles gut mit den Projektdateien wurde. Hallo, hallo, jetzt auf dem Hof ​​im Jahr 2018 gibt es keine Sklaverei mehr.


    Um die Sklaverei zu beseitigen , haben wir CMake nicht mehr gegeben : ein Toolset aus plattformübergreifenden Open-Source-Dienstprogrammen, mit dem wir Anwendungen erstellen, testen und packen können.


    Es sagt dem Neuling immer noch nichts und die Hände werden von der IDE angezogen. All dies aus Angst und Missverständnis dessen, was passiert. Ich selbst komme aus Java und weiß daher, wie sich die Augen einer Person, die zum ersten Mal gesehen hat, ausdehnen pom.xml.


    Sehen wir uns an, woraus das zuletzt erstellte Projekt besteht und wie man es in verschiedensten IDEs aufbaut.


    Zusammensetzung der Dateien:



    Der Shader wird zur Laufzeit mit der Funktion D3DCompile kompiliert . Der D3DCompiler aus dem DirectX SDK (das jetzt das Windows SDK ist) funktioniert. Es wird keine IDE benötigt, um es zu erstellen.


    main.cpp- Dies ist die einzige Datei, die gesammelt werden muss. Und er geht mit Hilfe von Informationen, die vollständig in CMakeLists.txt.


    In die entgegengesetzte Richtung: Es gibt CMakeLists.txt, was uns genau sagt, was genau wir kompilieren werden. Es ist buchstabiert Montage main.cpp. Dies reicht aus, um das Projekt zu kompilieren. Nach dem Kompilieren erhalten Sie eine Exe-Datei, die nach dem Start den Shader sammelt und auf dem Bildschirm anzeigt. Alles ist sehr einfach, die IDE nimmt nicht an dieser Kette teil und kann alles sein.


    IDE ist nicht erforderlich. Allgemein. Was ist so unverständlich?


    Montage


    Vorbereitende Momente


    Die Vorbereitung nimmt wie immer fast den größten Teil des Prozesses ein. Einige Dinge müssen verstanden werden.


    Es wird davon ausgegangen, dass alles auf Basis von Msys2 gemacht wird, das wir beim letzten Mal installiert haben . Wenn dies nicht der Fall ist, müssen Sie es selbst klären :)


    Wie installiere ich CMake und Ninja?


    Um etwas sammeln zu können, müssen Sie CMake installieren, falls Sie es noch nicht getan haben.


    • Herunterladen von der Site: 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 sich cmake.exe in der Windows-Umgebungsvariablen PATH befindet.
    • Laden Sie den neuesten Ninja-Generator von der Website herunter .
    • Auspacken und irgendwo in PFAD legen.

    Wie man PATH bearbeitet, nicht Kukhukha


    Die erste Methode ist allen bekannt: win + pause -> Erweiterte Systemeinstellungen -> Erweitert -> Umgebungsvariablen. Leider ist dies auch in Windows 10, in dem der Editor der Variablen PATH hinzugefügt wurde, immer noch nicht sehr praktisch.


    Wenn Sie häufig mit PATH arbeiten, ist die Verwendung eines Standard-Bearbeitungsfensters sehr ärgerlich. Ich empfehle Ihnen den Rapid Environment Editor zu verwenden - er ist kostenlos und spart viele Nerven.


    So verbinden Sie eine DLL aus MinGW im Entwicklungsmodus


    Die Anwendung wurde gestartet, Sie benötigen mindestens DLL-Dateien aus mingw64\bin.


    Leider konnte ich immer noch keine wirklich bequeme Lösung finden, um Bibliotheken von MinGW in PATH zu werfen. Wenn irgendein Weiser in den Kommentaren etwas sagen kann, bin ich sehr dankbar.


    Nun scheint es am einfachsten zu sein, das MinGW-bin-Verzeichnis direkt in PATH an die erste Stelle zu setzen. (Im Falle von Visual Studio können Sie einfach Bibliotheken in das Build-Verzeichnis einfügen.) Diese Methode hat leider einen großen Nachteil: Einige Softwareprodukte von Windows fallen sofort nach dem Ändern des PFADs ab. Zum Beispiel habe ich Overwatch nicht mehr ausgeführt, und das ist eine absolut 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 MinGW vor der Programmierung zu PATH hinzu und entfernen Sie es anschließend. Um den Vorgang zu vereinfachen, müssen Sie zwei Stapeldateien erstellen, die mit einem Doppelklick gestartet werden können:


    vor.bat:


    setx path "Z:\msys64\mingw64\bin;%path%"

    nach.bat:


    setx PATH "%PATH:Z:\msys64\mingw64\bin;=%"
    

    So verbinden Sie eine DLL im Modus "Test Release"


    Es ist klar, dass die vorherige Methode nur mingw64\binin PATH funktioniert, dh nur auf dem Computer des Entwicklers. Und selbst dort möchte ich den PFAD nicht immer verderben. Wenn ein gewöhnlicher Mensch damit beginnt (oder sich selbst nachdem er after.bat gelaufen ist), dann passiert so etwas:





    Der einfachste Weg, dieses Problem zu lösen, besteht darin, die erforderliche DLL neben die ausführbare Datei zu stellen. Dafür müssen Sie jedoch wissen, welche DLL verwendet wird!


    Wir haben bereits einige von Microsoft erstellte Dienstprogramme dafür.


    • Es ist möglich, die vollständige Liste der laufenden Anwendung mithilfe von ListDLLs anzuzeigen , es wird jedoch nicht angezeigt , was noch nicht geladen ist.
    • Wenn Sie Tools -> Visual Studio-Eingabeaufforderung ausführen dumpbin /dependents "Z:\game\build\Mingw64-Debug\src.exe", wird nur die erste DLL-Ebene angezeigt. Mit anderen Worten, wenn Sie nur Dumps ausgeben, die Dumpbin auffordert, werden nach dem Start immer noch Fehler auftreten - es handelt sich lediglich um andere DLLs.

    Um sich eingehend mit Abhängigkeiten auseinanderzusetzen, gibt es ein solches Skript , das direkt von der Befehlszeile aus ausgeführt werden kann (msys2, cygwin usw. - es reicht aus, um python2 / 3 und objdump innen zu installieren).


    • Laden Sie das mingw-bundledlls-Skript herunter.
    • Neben die ausführbare Datei setzen,
    • In einem Texteditor in ein Array von blacklist = [unseren DirectX Stücke hinzu: d3d10.dll, d3d11.dll, d3dcompiler_43.dll,
    • chmod 755 ./mingw-bundledlls.
    • So zeigen Sie die verwendete DLL an: ./mingw-bundledlls ./src.exe( Nun , jede Version, an der Sie mehr Interesse haben),
    • Um automatisch zu kopieren und weiter zu setzen: ./mingw-bundledlls --copy ./src.exe
    • PROFIT: Die Datei wird gestartet und einfach per Doppelklick auf die Exe-Datei und aus Visual Studio.

    Es gibt immer noch verschiedene knifflige Methoden, um CMake zu kopieren, die DLL selbst zu kopieren. Wenn Sie jedoch in Distributionsprobleme einsteigen, können Sie diesen Artikel niemals beenden.


    Manueller Bau


    • vor.bat
    • Starten Sie -> Ausführen -> cmd.exe
    • cd /d z://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 erzeugte Datei sofort aus oder schließen Sie die DLL gemäß den obigen Anweisungen ein und führen Sie after.bat aus

    Wir sagten, dass wir überhaupt nicht an die IDE gebunden waren.


    Erstellen Sie in Visual Studio


    Trotzdem ist das Entwickeln ohne IDE nicht der Fall. Letztes Mal haben wir bereits eine Testanwendung mit CLion erstellt. Aber das ist ein bezahlter Besitz und Zaschkvar, richtig? Vergiss es. Jetzt nur frei


    In Visual Studio ist die Reihenfolge der erforderlichen Aktionen sehr einfach.


    • vor.bat
    • Starten Sie Visual Studio.
    • Datei -> Öffnen -> CMake;
    • Wählen Sie CMakeLists.txt aus.
    • Sehen Sie sich einige Zeit an, wie Sie das Projekt denken und anzeigen.
    • Hauptmenü -> Cache -> Generieren -> Projektname;
    • Wir schauen uns die Ausgabe an und korrigieren die Fehler (zum Beispiel habe ich bei der Version von CMake geschworen, ich musste auf 3.11 statt auf 3.12 fallen);
    • Hauptmenü -> CMake -> CMake-Einstellungen ändern (MinGW64-Debug auswählen);
    • Das Projekt generiert automatisch die Datei CMakeSettings.json. Wir geben dort den Pfad zu MinGW an (ich hatte dies im vorherigen Video "Z: \ msys64 \ mingw64"), speichern Sie die Datei;
    • Hauptmenü -> Cache -> Generieren -> CMakeLists.txt;
    • Hauptmenü -> Cache -> Generieren -> Projektname;
    • Wenn alles richtig gemacht wurde, wird ein Element mit dem Namen des Projekts im Menü Wählen Sie ein gültiges Startelement angezeigt (neben dem grünen Pfeil, um die Anwendung zu starten).
    • Wir fangen an.

    Wie im Fall der Konsole können Sie auf diese Weise direkt beginnen (denken Sie daran, dass sich MinGW im PATH befindet) oder after.bat ausführen und die erforderlichen DLLs gemäß den Anweisungen einfügen. DLL muss direkt in dem Verzeichnis abgelegt werden, in dem sich die Anwendung befindet. Sie kann im buildRoot-Parameter in der Datei CMakeSettings.json angegeben werden.


    Also, meine Herren, das Wichtigste: Von Visual Studio wird alles perfekt kompiliert und läuft. Wir sagten, dass wir nicht an eine kommerzielle IDE gebunden waren.


    Erstellen Sie in Visual Studio Code


    Leider ist Visual Studio immer noch keine freie Software. Wir müssen zu etwas mehr kostenlos wechseln, und das ist Visual Studio Code.


    Anfangs witzige Denkweise. Wenn Sie VSCode auf einem Monitor mit großem Zoom ausführen (z. B. sitze ich zu Hause hinter dem Fernsehgerät), wird die VSCode-Benutzeroberfläche zum Chaos. Um dies zu verhindern, müssen Sie es mit einer Taste starten --force-device-scale-factor(eine Verknüpfung auf dem Desktop erstellen oder ähnliches).


    Leider habe ich die PATH-Verwaltung für VSCode nie gemeistert. Die einzige Möglichkeit, dies zu starten, besteht darin, den PATH mithilfe von before.bat und einem anderen Hack zu ändern, den ich im Folgenden beschreiben werde.


    Als nächstes müssen Sie VSCode konfigurieren.


    • Installieren Sie CMake Tools: Ansicht -> Erweiterungen -> Geben Sie im Suchfeld "CMake Tools" ein, und drücken Sie install vor dem Paket, das der Autor von vector-of-bool erstellt hat.
    • Ansicht -> Explorer -> Ordner öffnen (wählen Sie das Verzeichnis mit unserem Projekt aus);
    • Befehlsleiste (CP, Tastenkombination Strg + P) -> "> CMake: Nach Kits suchen";
    • Wählen Sie unser "GCC 8.2.0", auch wenn es zum richtigen Ort führt, wo msys2 installiert ist oder was Sie dort verwenden.
    • Datei> Voreinstellungen> 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ü aus.
    • 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 dem Verzeichnis hinzugefügt build. Wenn dies nicht der Fall ist, müssen Sie Buildin der Statuszeile auf die Schaltfläche mit dem Zahnrad klicken .

    Es ist klar, dass Sie den Pfad zu mingw und cmake direkt angeben müssen. "Aber ich habe den gleichen PFAD!" Geben Sie einfach an, dies löst eine ganze Reihe von Problemen.


    Es gibt jedoch einen exklusiven Weg, um sich nicht selbst zu verschwenden.


    • "cmake.generator": "MSYS Makefiles"
    • "cmake.preferredGenerators": [ "MSYS Makefiles"]
    • Stellen Sie sicher, dass sich MinGW nicht in PATH (after.bat) befindet.
    • Stellen Sie sicher, dass das Build-Verzeichnis im Projekt gelöscht wurde.
    • Starten Sie die Msys2-Konsole.
    • export PATH=/z/msys64/mingw64/bin;$PATH(Sie können dann etwas eingeben "~/.bashrc")
    • Führen Sie von dort aus beispielsweise VSCode aus: "C:\Users\olegchir\AppData\Local\Programs\Microsoft VS Code\Code.exe"
    • Und dann ist alles wie zuvor. Die Datei sollte normalerweise generiert werden.
    • Wenn Sie versuchen, es sofort vom Explorer aus zu starten, führt ein Doppelklick sofort zu Fehlern bei der DLL-Suche. Dies bedeutet, dass alles korrekt ist. Wir verwenden wirklich einen speziellen PATH innerhalb von VSCode und nicht außerhalb davon.

    Wir haben also bewiesen, dass wir in einer freien IDE auch gut leben können.


    Ergebnisse


    Zusammenfassend können Sie, wenn Sie eine normale Person sind, CMake, MinGW verwenden und nicht blasen. Alles ist zwischen IDEs portierbar, alles funktioniert einfach. Wir können jederzeit eine bezahlte, geschlossene, nicht freie IDE verwenden, und es wird nichts für uns sein. Aber alle anderen werden zu Recht leiden.


    In zukünftigen Artikeln wird Ihre Meinung berücksichtigt. Sie können während des TV- Streams direkt in den Kommentaren Fragen stellen und Vorschläge machen . Ob es diese Artikel überhaupt gibt, hängt davon ab, wie heftig Sie den Pfeil nach oben unter diesem Kommentar spielen.


    олег родился в интернете
    в почтенной геймерской семье
    питался лайками и в гугол
    за двойки ставили его

    © Alexander Raevsky


    Jetzt auch beliebt: