Kirjoittaja Aihe: aloituksessa ongelmia.[ratkaistu]  (Luettu 6525 kertaa)

Pörzi

  • Käyttäjä
  • Viestejä: 99
    • Profiili
    • http://fugufish.dy.fi/
aloituksessa ongelmia.[ratkaistu]
« : 02.06.07 - klo:21.57 »
Eli olen siis jonkin verran ohjelmointia harrastanut (php,C++ ... myönnetään basic) nyt pitäisi kuitenkin saada editori ja kääntäjä toimimaan Linuxissa. Käyttiksenä toimii Kubuntu ja koitin Anjutalla compileta seuraavaa pätkää:
#include <iostream>

int main()
{
cout << "Jeps!";
return 0;
}
(eli siis testata vaan, että homma toimii editorin ja kääntäjän välillä...)

Kuitenkin tällaista pukkaa:
Compiling file: main.cc ...
g++ -Wall -g -c "main.cc" -o "main.o"
main.cc: In function 'int main()':
main.cc:5 error: 'cout' was not declared in this scope
Completed ... unsuccessful
Total time taken: 1 secs
« Viimeksi muokattu: 09.06.07 - klo:19.31 kirjoittanut Pörzi »

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Vs: aloituksessa ongelmia.
« Vastaus #1 : 02.06.07 - klo:22.06 »
Koodia: [Valitse]
#include <iostream>

int main()
{
cout << "Jeps!";
return 0;
}
(eli siis testata vaan, että homma toimii editorin ja kääntäjän välillä...)

Kuitenkin tällaista pukkaa:
Compiling file: main.cc ...
g++ -Wall -g -c "main.cc" -o "main.o"
main.cc: In function 'int main()':
main.cc:5 error: 'cout' was not declared in this scope
Completed ... unsuccessful
Total time taken: 1 secs

tuon ei kuuluisikaan kääntyä ja kääntäjän virhe on täysin aiheellinen.

c++:n nykyaikaisen otsikko tiedoston iostream (kuten muidenkin nykyaikaisten otiskkotiedostojen) sisältämä kama on std-nimiavaruudessa. vaihtoehtoina on käyttää nimiavaruutta eksplisiittisesti jokaisen komennon kohdalla (std::cout) tai esitellä käytetty nimiavaruus komentokohtaisesti otsikkotiedostojen esittelyn jälkeen (using std::cout;) tai tuoda koko nimiavaruus ko. paikassa (using namespace std;). joskin viimeistä käytetään yleensä vain lyhyiden esimerkkiohjelmien kanssa.
Janne

Pörzi

  • Käyttäjä
  • Viestejä: 99
    • Profiili
    • http://fugufish.dy.fi/
Vs: aloituksessa ongelmia.
« Vastaus #2 : 02.06.07 - klo:22.16 »
Ok... kiitoksia paljon! Onnistuin nyt kääntämään, mutta seuraava ongelma: en onnistu ajamaan ohjelmaa.  :-[ kokeilin painaa f3 tai klikata Build->Execute  f3 ,mutta mitään ei tunnu tapahtuvan. Eli olenkos ihan hakoteillä?

Fa1r

  • Käyttäjä
  • Viestejä: 221
  • Reply #1!
    • Profiili
Vs: aloituksessa ongelmia.
« Vastaus #3 : 03.06.07 - klo:21.09 »
Ok... kiitoksia paljon! Onnistuin nyt kääntämään, mutta seuraava ongelma: en onnistu ajamaan ohjelmaa.  :-[ kokeilin painaa f3 tai klikata Build->Execute  f3 ,mutta mitään ei tunnu tapahtuvan. Eli olenkos ihan hakoteillä?

Uskoisin tuollaisen ohjelman suorittuvan riittävän nopeasti niin, ettei sen näytöllä pyörähtämisestä jää kummempia jälkiä. Kokeiles jotain funktioita tyyliin scanf ja sleep.
What you don't know can hurt you, only you won't know it.
--$(fortune)
Elastisen Linux-biisi

Pörzi

  • Käyttäjä
  • Viestejä: 99
    • Profiili
    • http://fugufish.dy.fi/
Vs: aloituksessa ongelmia.
« Vastaus #4 : 03.06.07 - klo:21.42 »
Ok... kiitoksia paljon! Onnistuin nyt kääntämään, mutta seuraava ongelma: en onnistu ajamaan ohjelmaa.  :-[ kokeilin painaa f3 tai klikata Build->Execute  f3 ,mutta mitään ei tunnu tapahtuvan. Eli olenkos ihan hakoteillä?

Uskoisin tuollaisen ohjelman suorittuvan riittävän nopeasti niin, ettei sen näytöllä pyörähtämisestä jää kummempia jälkiä. Kokeiles jotain funktioita tyyliin scanf ja sleep.
Ei taida johtua siitä... Minulla on nyt:
Koodia: [Valitse]
#include <iostream>

char a;

int main()
{
std::cout << "Jeps!";
std::cin >> a;
return 0;
}
Ja edelleen sama ongelma, eli en saa ajettua sitä. :(

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Vs: aloituksessa ongelmia.
« Vastaus #5 : 03.06.07 - klo:23.13 »
Uskoisin tuollaisen ohjelman suorittuvan riittävän nopeasti niin, ettei sen näytöllä pyörähtämisestä jää kummempia jälkiä. Kokeiles jotain funktioita tyyliin scanf ja sleep.

juu, ei pitäisi johtua tuosta. anjutan kautta suoritettu (komentorivi)sovellus jää kyllä näkyviin myös suorituksen päättymisen jälkeen.
Janne

Fa1r

  • Käyttäjä
  • Viestejä: 221
  • Reply #1!
    • Profiili
Vs: aloituksessa ongelmia.
« Vastaus #6 : 06.06.07 - klo:17.26 »
Eikä valita mitään kun koittaa käynnistää ohjelman "käsipelillä"?
What you don't know can hurt you, only you won't know it.
--$(fortune)
Elastisen Linux-biisi

Pörzi

  • Käyttäjä
  • Viestejä: 99
    • Profiili
    • http://fugufish.dy.fi/
Vs: aloituksessa ongelmia.
« Vastaus #7 : 06.06.07 - klo:20.51 »
Eikä valita mitään kun koittaa käynnistää ohjelman "käsipelillä"?
Ööh käsipelillä?  :-[ Olen koittanut mennä kansioon, mutten löydä oikein mitään suoritettavaa, vaikkei compile antanutkaan mitään erroria.
src-kansiosta löytyy projektin niminen executable file, mutta sitä klikkaamalla ei tapahdu mitään.

Tässä vielä, mitä olen tehnyt. Avasin Anjutan. Otin application wizard->Generic/terminal project->annoin nimen->seuraava,seuraava,seuraava... ...successful->lisäsin filen ja valitsin c++ source-filen, jonka nimeksi valitsin main.cc->laitoin tähän filuun:
Koodia: [Valitse]
#include <iostream>

char a;

int main()
{
std::cout << "Jeps!";
std::cin >> a;
return 0;
}
->save, ok->compile (successful)->build (successful)->execute... ... ...ei mitään.

Fa1r

  • Käyttäjä
  • Viestejä: 221
  • Reply #1!
    • Profiili
Vs: aloituksessa ongelmia.
« Vastaus #8 : 07.06.07 - klo:11.46 »
Ok, here's the procedure. (Lainaten TES IV: Oblivionin sotilaita).

Kokeile "ihan normaalia koodauskäyttöä" (Jos tiedät että toimii, voit hypätä tämän viestin yli), eli:

Ensimmäiseksi kirjoittelet suosimallasi tekstieditorilla em. koodin tekstitiedostoon test.cc ja (avaat päätteen ja) ajat seuraavat komennot:
cd ~/Desktop
g++ -o test test.c
./test


Jos jossain em. vaiheista tulee virhe, on kyseessä perustavaa laatua oleva ongelma.

Jos taas näet normaalin tulosteen, joka koodin perusteella pitäisikin tulla, on virhe jossakin anjutan ja koneen välisissä suhteissa.
What you don't know can hurt you, only you won't know it.
--$(fortune)
Elastisen Linux-biisi

Pörzi

  • Käyttäjä
  • Viestejä: 99
    • Profiili
    • http://fugufish.dy.fi/
Vs: aloituksessa ongelmia.
« Vastaus #9 : 07.06.07 - klo:15.53 »
Ok, here's the procedure. (Lainaten TES IV: Oblivionin sotilaita).

Kokeile "ihan normaalia koodauskäyttöä" (Jos tiedät että toimii, voit hypätä tämän viestin yli), eli:

Ensimmäiseksi kirjoittelet suosimallasi tekstieditorilla em. koodin tekstitiedostoon test.cc ja (avaat päätteen ja) ajat seuraavat komennot:
cd ~/Desktop
g++ -o test test.c
./test


Jos jossain em. vaiheista tulee virhe, on kyseessä perustavaa laatua oleva ongelma.

Jos taas näet normaalin tulosteen, joka koodin perusteella pitäisikin tulla, on virhe jossakin anjutan ja koneen välisissä suhteissa.
Ok... kiitos avusta! Tämä toimii. Eli mites nyt voisin korjailla noita Anjutan ongelmia? Meinaan on aika lailla helpompaa käyttää sitä...

Fa1r

  • Käyttäjä
  • Viestejä: 221
  • Reply #1!
    • Profiili
Vs: aloituksessa ongelmia.
« Vastaus #10 : 07.06.07 - klo:20.45 »
Mites ois jos käynnistäisit päätteestä sen (anjutan)(, jos se vaikka dumppais erroria sinne)?
What you don't know can hurt you, only you won't know it.
--$(fortune)
Elastisen Linux-biisi

Pörzi

  • Käyttäjä
  • Viestejä: 99
    • Profiili
    • http://fugufish.dy.fi/
Vs: aloituksessa ongelmia.
« Vastaus #11 : 07.06.07 - klo:20.59 »
Mites ois jos käynnistäisit päätteestä sen (anjutan)(, jos se vaikka dumppais erroria sinne)?
Juu kokeilen... Katsoin nyt taas myös Anjutan tekemää projektikansiota ja kokeilin shellin kautta käynnistää sen src kansioon tehdyn ohjelman... se toimii ihan oikein eli ongelma kait on siis executessa.

Sitten siitä dumpatusta errorista... Käynnistettäessä heittää hirveet rivit:
/bin/sh: /usr/bin/esd: not found
/bin/sh: /usr/bin/esd: not found
...
Ja executella laittaa:
/bin/sh: /usr/bin/esd: not found
/bin/sh: /usr/bin/esd: not found
/bin/bash: gnome-terminal: command not found

Fa1r

  • Käyttäjä
  • Viestejä: 221
  • Reply #1!
    • Profiili
Vs: aloituksessa ongelmia.
« Vastaus #12 : 07.06.07 - klo:22.03 »
...
/bin/sh: /usr/bin/esd: not found
/bin/sh: /usr/bin/esd: not found
Äänihommaa, ei liity tähän.

Ja executella laittaa:
...
/bin/bash: gnome-terminal: command not found

Joo-o, tämä kertonee kaiken. Gnome-terminaalia ei löydy ( käytäthän Gnomea? ).
Kokeiles tämän jälkeen uudestaan:
sudo apt-get install gnome-terminal gnome-terminal-data
What you don't know can hurt you, only you won't know it.
--$(fortune)
Elastisen Linux-biisi

Pörzi

  • Käyttäjä
  • Viestejä: 99
    • Profiili
    • http://fugufish.dy.fi/
Vs: aloituksessa ongelmia.
« Vastaus #13 : 07.06.07 - klo:22.19 »
...
/bin/sh: /usr/bin/esd: not found
/bin/sh: /usr/bin/esd: not found
Äänihommaa, ei liity tähän.

Ja executella laittaa:
...
/bin/bash: gnome-terminal: command not found

Joo-o, tämä kertonee kaiken. Gnome-terminaalia ei löydy ( käytäthän Gnomea? ).
Kokeiles tämän jälkeen uudestaan:
sudo apt-get install gnome-terminal gnome-terminal-data
Eipä tullut mieleen, että Anjuta on tietysti gnomelle... Käytän Kubuntua. :D Asensin tuon gnome-terminaalin ja nyt toimii execute, mutta niin monesti esiin tullut ongelma, eli tulee pelkästään hello world... vaikka koodi on ihan muuta.

Mutta kiitos enivei tähän asti saamastani avusta!

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Vs: aloituksessa ongelmia.
« Vastaus #14 : 07.06.07 - klo:22.31 »
Eipä tullut mieleen, että Anjuta on tietysti gnomelle... Käytän Kubuntua.

kde:lle löytyy myös IDE nimellä kdevelop3. se on varsin hyvä vaihtoehto muuhun kuin GTK+/Gnome-ohjelmien tekemiseen. jos siis IDEä kaipaa.
Janne

Pörzi

  • Käyttäjä
  • Viestejä: 99
    • Profiili
    • http://fugufish.dy.fi/
Vs: aloituksessa ongelmia.
« Vastaus #15 : 09.06.07 - klo:15.15 »
kde:lle löytyy myös IDE nimellä kdevelop3. se on varsin hyvä vaihtoehto muuhun kuin GTK+/Gnome-ohjelmien tekemiseen. jos siis IDEä kaipaa.
Kokeilin nyt asentaa tuon kdevelop:in ja kokeilla siinä valmista helloworld -ohjelmaa... Kuitenkin kun yritän build, tulee:
/home/a/testaus/debug
There is no Makefile in this directory
and no configure script for this project.
Run automake & friends and configure first?


Jos laitan "run them" tulee:
cd '/home/a/testaus' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" make -f Makefile.cvs && cd '/home/a/testaus/debug' && CXXFLAGS="-O0 -g3" "/home/a/testaus/configure" --enable-debug=full && cd '/home/a/testaus/debug' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" make -k
aclocal
automake
autoconf
installing -c
checking whether build environment is sane... yes
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
installing -c
checking whether make sets $(MAKE)... (cached) yes
checking how to run the C++ preprocessor... g++ -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking ncurses.h usability... no
checking ncurses.h presence... no
checking for ncurses.h... no
configure: error: Couldn't find ncurses headers.
*** Exited with status: 1 ***

Fa1r

  • Käyttäjä
  • Viestejä: 221
  • Reply #1!
    • Profiili
Vs: aloituksessa ongelmia.
« Vastaus #16 : 09.06.07 - klo:17.40 »
Jos edellinen viesti oli jonkinlainen "avunpyyntö", niin kokeiles uudestaan tämän komennon jälkeen:

sudo apt-get install libncurses5-dev
What you don't know can hurt you, only you won't know it.
--$(fortune)
Elastisen Linux-biisi

Pörzi

  • Käyttäjä
  • Viestejä: 99
    • Profiili
    • http://fugufish.dy.fi/
Vs: aloituksessa ongelmia.
« Vastaus #17 : 09.06.07 - klo:19.30 »
Jos edellinen viesti oli jonkinlainen "avunpyyntö", niin kokeiles uudestaan tämän komennon jälkeen:

sudo apt-get install libncurses5-dev
Tässä rupeaa tuntemaan itsensä jotenkin uusavuttomaksi...

Kiitos paljon kaikille avusta!