Fehlermeldung gcc unter linux. (Brauche Interpretationshilfe)



  • Source:

    #include <iostream>
    #include <list>
    #include <iterator>
    
    using namespace std;
    int main()
    {
    	list<int> test;
    	for(int i = 0;i<100;++i)
    		test.push_back(i);
    
    	copy(test.begin(),test.end(),ostream_iterator<int>(cout," "));
    
    	cout<<"\n";
    
    	return 20;
    }
    

    Fehlermeldung:

    do3fmr@db0fhn:~/cpp$ g++ -otest test.cpp
    g++ -otest test.cpp
    In file included from /usr/include/bits/posix1_lim.h:130,
                     from /usr/include/limits.h:144,
                     from /usr/lib/gcc-lib/i386-linux/2.95.4/include/limits.h:117,
                     from /usr/lib/gcc-lib/i386-linux/2.95.4/include/syslimits.h:7,
                     from /usr/lib/gcc-lib/i386-linux/2.95.4/include/limits.h:11,
                     from /usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/stl_algobase.h:49,
                     from /usr/lib/gcc-lib/i386-linux/2.95.4/../../../../include/g++-3/list:30,
                     from test.cpp:2:
    /usr/include/bits/local_lim.h:36: linux/limits.h: No such file or directory
    do3fmr@db0fhn:~/cpp$
    

    Ich bin total noob in Linux (und gcc). Ich verstehe nicht was mit der gcc sagen will ?!
    Ich interpretiere mal das er linux/limints.h nicht findet ?!
    ( /usr/include/limits.h gibts)

    Was will er mir mit den vielen "from" Zeilen sagen ?!

    Vielen Dank



  • Er sagt dir, dass es /usr/include/linux/limits.h nicht gibt. Diese wird von /usr/include/bits/local_lim.h eingebunden, diese von /usr/include/bits/posix1_lim.h, diese wiederum von /usr/include/limits.h usw. und diese wiederum von <list>, welche du einbindest.

    Frag mich nicht, warum das so ist, ich habe diese Datei jedenfalls.



  • Hi!

    Der gcc listet also die ganzen Pfade auf , das erklärt auch die laaange meldung 🤡

    Hm, eine frage hätte ich aber noch:

    usr/include/bits/local_lim.h:36: linux/limits.h: No such file or directory

    Wie kommst Du darauf das er mit linux/limits.h /usr/include/linux/limits.h meint ? 😕 (Nehme an das ergibt sich so wenn man mal das System kennt ? 🤡

    BTW
    /usr/include/linux/ gibts auf dem system bei dem ich compilieren will nicht.

    Der Compiler hat wohl recht :o(

    Vielen Dank



  • Naja, der Standard-Include-Pfad ist /usr/include, linux/limits.h bedeutet also /usr/include/linux/limits.h.

    /usr/include/linux/ gibts auf dem system bei dem ich compilieren will nicht.

    Das muss eine sehr seltsame Distribution sein 🙂



  • ka. Zuhause bin ich noch mit Konfigurieren des Linuxsystems beschäftigt.
    Hab mir Linux | ISBN: 3897213532 dafür gekauft und muss innerhalb von nem Monat fitt sein O🤡

    Der andere Rechner steht an ner uni in nuernberg. Ich hab im mom nich mal genug kenntnisse Dir sagen zu können was da genau läuft O🤡

    Auf jedenfall vielen Dank für die Info



  • keine Kernel-Header installiert?



  • Das sind keine Kernelheader.



  • jo, hast recht.


Anmelden zum Antworten