gcc und Umgebungsvariable CXX

Hinweis: In dem Thema gcc und Umgebungsvariable CXX gibt es 8 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Hallo,


    ich habe den C++-Compiler gcc unter Leap 42.3 installiert. Der Befehl "which gcc" sagt auch "/usr/bin/gcc". Müsste bei der Installation nicht auch automatisch die Umgebungsvariable CXX entsprechend gesetzt werden?


    Mit freundlichen Grüßen
    Geisterkatze

  • Weil
    1. es anscheinend früher so war. Zumindest kann ich mich nicht entsinnen, bei meinem alten Rechner jemals diese Variable von Hand gesetzt zu haben.
    2. Umgebungsvariablen ein Weg sind, anderen Programmen mitzuteilen, wo das eigene Programm zu finden ist bzw. welche Einstellungen bereits zu diesem Programm existieren und gegebenenfalls übernommen werden können. Zumindest war es früher mal so.

  • "Früher" war eh alles besser. ;)


    Im Ernst: Bei den Sachen, mit denen ich mich herumschlage, werden im Makefile Variable CXX/CC/LD usw. gesetzt. Diese Variable kann man mit Hilfe von gleichlautenden Umgebungsvariablen überschreiben. Das macht Sinn bei Crosscompiling oder wenn man einen speziellen Compiler nutzen möchte.


    Keine Ahnung, ob die Umgebungsvariale "früher" mal per default gesetzt waren, hab ich nie drauf geachtet...

    Für den Inhalt des Beitrages 117449 haftet ausdrücklich der jeweilige Autor: micha-bbg

  • Das macht bei einer Installation des Compilers absolut gar keinen Sinn.
    Es sei denn, wirklich jeder würde genau die gleichen Einstellungen brauchen/wollen. Irrealis.


    Was früher®™ so war, kann man leicht wieder herstellen.
    Rechner ausschalten, und Rauchzeichen morsen.


    Die einzige Envrionmentvariable, schon immer das erste Mittel der Wahl war, um ausführbare Programme zu finden, ist PATH (und natürlich absolute/relative Pfadnamen).


    Alle anderen sind lediglich zusätzliche Möglichekeiten, die man nutzen kann.
    Dafür ist es aber notwendig, dass die aufgerufenen Programme sie überhaupt berücksichtigen.
    Das war schon früher®™ so.


    Es mag ja Distris geben, die das bei gcc anders handhaben.
    Das aber als "früher®™ war das so" zu bezeichnen, ist sehr gewagt.

  • Bei den Sachen, mit denen ich mich herumschlage, werden im Makefile Variable CXX/CC/LD usw. gesetzt.

    Bei mir hat CMake bei der Erzeugung der Makefiles gemeckert. Ich werde es wohl daher in der entsprechenden "CMakeLists.txt" eintragen.

  • Bei mir hat CMake bei der Erzeugung der Makefiles gemeckert. Ich werde es wohl daher in der entsprechenden "CMakeLists.txt" eintragen.

    Du musst nicht unbedingt die CMakeLists.txt ändern, die benötigten Variable kannst du, sofern sie nicht gesetzt ist, auch cmake beim Aufruf mitgeben, zB:


    Code
    cmake -DCMAKE_CXX_COMPILER=dein-cxx-compiler -DCMAKE_C_COMPILER=dein-c-compiler
    Code
    cmake --help
    ...
    -D <var>[:<type>]=<value>    = Create a cmake cache entry.
    ...

    Siehe: https://cmake.org/cmake/help/v…l#variables-for-languages

    Einmal editiert, zuletzt von micha-bbg ()

    Für den Inhalt des Beitrages 117472 haftet ausdrücklich der jeweilige Autor: micha-bbg

  • Außerdem könntest du, wenn du das immer so brauchst, auch ein export CC=... in die üblichen Shellconfigdateien schreiben.
    z.B. (aber nicht nur): /etc/bash.bashrc /etc/profile $HOME/.bashrc $HOME/.profile