Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: Gruw 13 Ledna 2009, 18:21:09
-
Zdravím,
dneska mi po kompilaci jednoduchého prográmku v C++ vyhodil chybku. Jedná se pouze o Newtonův algorytmus, v prosinci mi to při kompilaci fungovalo. Te mi to po spuštění napíše toto:
./newton: line 43: syntax error near unexpected token `('
./newton: line 43: `namespace std __attribute__ ((__visibility__ ("default"))) {'
Zkusil jsem přeinstalovat cpp kompilátor i C knihovny a znova zkonpilovat, asi 10x jsem to zkoušel a nic. Kvůli důležitosti knihovny libgcc1 jsem ji ani nemohl odstranit. Nejde ani o to, že mi nefunguje jednoduchý program, ale nefunguje mi vůbec nic, co si sám napíšu a zkompiluju. Nevíte pls někdo, co s tím?
Verze cpp: 4.3
Předem díky moc za radu, jestli je ještě něco potřeba, není problém, určitě sem doplním, ale sám nevím, co by to mělo být.
-
Tož známý příklad hallo world ale jede ne?
toto neznám:
namespace std __attribute__ ((__visibility__ ("default"))) {' //to je nějaký Váš kód?
-
Stejnou chybu mi hází i tento kód:
#include <iostream>
using namespace std;
int main(){
return 0;
}
Vzhledem k tomu, že v souboru newton v mém problému, je načítání <iostream> až po dvou řádcích komentářu a jednoho oddělovacího, je u výše uvedeného kódu řádek chyby 40.
Jestli se já nemýlím, je nutné načítat std pro možnost vypisování. Vypadá to na chybu v iostream, ale jak to opravit, to netuším.
-
Tak to je divný, že by byla iostream špatná. Zkoušel jste přeinstalovat libstd knihovnu?
-
Technická. Jakým příkazem kompiluješ?
-
> cat << 'EOF' >xx
#include <iostream>
using namespace std;
int main(){
return 0;
}
EOF
> g++ -o xx xx.c
> file xx
xx: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.4, dynamically linked (uses shared libs), not stripped
^^ whats the problem?
-
Reinstalace nepomohla.
Kompiloval jsem to příkazem:
cpp xx.cpp -o xx
S použitím g++ to funguje. Sice nevím proč, mělo by to snad fungovat obojí bez problémů, ale teď to běhá. Možná mám jen wokno :D
-
OMG :D ..
cpp - The C Preprocessor // viz. `man cpp`
gcc - GNU project C and C++ compiler // viz. `man g++`
-
Uff, ale cpp je C preprocesor!
Kompilátor C je gcc.
Kompilátor C++ je g++.
-
Uff, ale cpp je C preprocesor!
Kompilátor C je gcc.
Kompilátor C++ je g++.
.. heh. ja driv ;)
-
Grr... a já se zas naučil říkat uff! Kde sem to jen pochytil? :D
-
No už jsem přepracovanej... taková blbost mě nenapadla.... zvlášť když dotyčný píše že mu to před tím šlo... asi měl symlink gcc na g++ ;D
-
Nezaměnil kompilátory, to by třeba ani nebylo fatální. Zaměnil preprocesor za kompilátor.
-
Nezaměnil kompilátory, to by třeba ani nebylo fatální. Zaměnil preprocesor za kompilátor.
fatální by to bylo:
http://forum.ubuntu.cz/index.php/topic,31152.0.html
-
Nj, v tomhle případě asi jo. Myslel jsem to opačně (g++ klasický C zkousne).
-
Musím bohužel potvrdit, že jsem si to spletl :D Před Vánocema jsem se teprve na hodině (gympl) seznámil s g++ a jak jsem se na to přes svátky nepodíval a soubory byly s koncovkou cpp, měl jsem blbou asociaci :D Díky za upozornění, asi nesmím být l*ma :'(