g++ nachinstalliert und auf der konsole nichts zu sehen
-
hola leute
auf meinem webserver (suse 9.3) war bis jetzt nur der gcc installiert. hab heute ueber yast den g++ nachinstalliert. problem: wenn ich mit std::cout was ausgeben will, kommt da nichts. der g++ kompiliert anstandslos ohne meckern.
kann es sein das ihm vielleicht irgendwelche umgebungsvariablen noch fehlen oder so ?
wenn ich printf anstatt std::cout verwende, geht es gnomischerweise.weiß da jemand rat ?
Meep Meep
-
std::cout <<"test"<<std::endl;
oder flush
mal testen.
edit: std vergessen
-
hi elise
mit std::endl hab ich es auch schon probiert. mit dem gleichen resultat.
hab jetzt einfach nochmal ein kleines programm geschrieben und wollte das nun testen:
#include <iostream> #include <vector> int main(int val, char *var[]) { std::vector<int> vec; for(int i = 0;i < 10;++i) vec.push_back(i); std::vector<int>::const_iterator begin = vec.begin(); std::vector<int>::const_iterator end = vec.end(); while(begin != end) std::cout << *begin++ << std::endl; return 0; }
kompiliert auh einwand frei. jedoch, wenn ich die binary starten will, sagt mir bash ' command not found '.
versteh ich nun ueberhaupt nicht mehr.kompiliert hab ich das programm mit :
g++ -o vec_prog vec_prog.cpp
liegt da vielleicht der fehler ?
dateien und verzeichnisse haben jeweils 755. sollte doch wohl ausreichen oder ?Meep Meep
-
Rufst Du auch mit "./vec_prog" auf? "vec_prog" alleine wird nicht ausreichen, da $PATH selten "." enthält.
-
re
nman schrieb:
Rufst Du auch mit "./vec_prog" auf? "vec_prog" alleine wird nicht ausreichen, da $PATH selten "." enthält.
noe, hab ich nicht. aber so wie du es sagst funktioniert es.
frage stellt sich mir nun: warum ??
bei anderen programmen muss ich das ja auch niht machen. warum jetzt bei meinem ?Meep Meep
-
Weil Dein Programm in keinem der Verzeichnisse liegt, die in $PATH stehen.
Wenn Du Deiner Shell irgendeinen Programmnamen übergibst, dann versucht sie, dieses Programm in den Verzeichnissen, die in $PATH gelistet sind zu finden. Aus Sicherheitsgründen ist da idR das aktuelle Verzeichnis nicht drin, darum musst du den Pfad zu Programmen außerhalb der $PATH-Verzeichnisse absolut angeben.
Ist in 1.000 FAQs beschrieben.
-
das liegt daran, wie die Konsole Programme sucht. Dafür geht es die Verzeichnisse in PATH durch und schaut ob es das Programm findet. Da . (also das aktuelle Verzeichnis) (aus guten Gründen) in der Regel nicht in PATH steht, findet die Konsole das Programm eben nicht. Daher musst du eben explizit eine Pfadangabe machen. Verschieb dein Programm zB mal nach /usr/local/bin (oder /usr/bin). Dann sollte es funktionieren oder füge einfach . zu PATH hinzu oder ruf einfach das Programm wie jeder andere es auch tun würde mit ./ auf...
-
re
im gleichen verzeichnis habe ich jedoch noch ein anderes von mir geschriebenes
programm, hab ich mit gcc kompiliert, was ich aber nur mit dem dateinamen starten kann.
wie kann das dann sein ?Meep Meep
-
(Meep Meep) schrieb:
im gleichen verzeichnis habe ich jedoch noch ein anderes von mir geschriebenes
programm, hab ich mit gcc kompiliert, was ich aber nur mit dem dateinamen starten kann.
wie kann das dann sein ?Kann gar nicht sein.
-
re
nman schrieb:
(Meep Meep) schrieb:
im gleichen verzeichnis habe ich jedoch noch ein anderes von mir geschriebenes
programm, hab ich mit gcc kompiliert, was ich aber nur mit dem dateinamen starten kann.
wie kann das dann sein ?Kann gar nicht sein.
robert@web_server:/home/k/komports.de/public_html/cgi-bin> ls -l insgesamt 116 -rwxrwxrwx 1 robert www 15 2006-05-05 22:00 DO_NOT_DELETE_THIS_FILE_WITH_FRO NTPAGE -rwxr-xr-x 1 robert www 7619 2006-12-03 22:46 hallo -rwxr-xr-x 1 robert www 856 2006-05-07 20:21 hallo.c -rwxr-xr-x 1 robert www 7619 2006-12-03 21:03 hallo.cgi -rwxr-xr-x 1 robert www 1530 2006-12-03 21:25 main.c -rwxr-xr-x 1 robert www 8672 2006-12-03 22:39 main.cgi -rw----r-- 1 robert www 125 2006-12-03 22:41 main.cpp -rwxr-xr-x 1 robert www 8727 2006-12-03 22:35 test -rwxr-xr-x 1 robert www 8727 2006-12-03 22:35 test.cgi -rw----r-- 1 robert www 92 2006-12-03 22:34 test.cpp -rwxr-xr-x 1 robert www 16484 2006-12-03 23:06 vec_prog -rwxr-xr-x 1 robert www 16484 2006-12-03 23:02 vec_prog.cgi -rwxr-xr-x 1 robert www 377 2006-12-03 23:01 vec_prog.cpp robert@web_server:/home/k/komports.de/public_html/cgi-bin> hallo Content-Type: text/html <html><head> <title>Zeitausgabe </title> </head><body> Aktuelle Systemzeit: Mon Dec 4 07:00:06 2006 </body></html> robert@web_server:/home/k/komports.de/public_html/cgi-bin> vec_prog -bash: vec_prog: command not found
ist aber so.
das prog 'hallo' wird gefunden und gestartet, 'vec_prog' nicht.Meep Meep
-
Mach mal bitte
which hallo
-
re
Bashar schrieb:
Mach mal bitte
which hallo
/bin/hallo
wie kommt das nach bin ???
kann mich nicht erinnern das ich das mal dort hin kopiert haette. source is keiner im bin. weil da komm ich per ftp net mal hin. naja wenigstens is das geklaert und ich hab wieder was dazu gelernt.Meep Meep