Page 2 of 2

Re: Teh DLL-opas VERSIO 1.1

Posted: Wed Mar 07, 2012 5:16 pm
by Latexi95
Konstaduck wrote:Topicciin on postattu 4 kuukautta sitten. Aletaas nyt herättää sitä

Miten saisin tuon Visual C++:n toimimaan? Kääntäjä ilmoittaa aina, että virhe siellä, virhe täällä. Ärsyttävää :(
Tuo kyllä toimii aivan oikein. Käytän tuota mm. cbChipmunkissa joka on myöskin käännetty VC++:lla. Minkälaista virheilmoitusta kääntäjä antaa?

Re: Teh DLL-opas VERSIO 1.1

Posted: Wed Mar 07, 2012 5:48 pm
by Konstaduck
Latexi95 wrote:
Konstaduck wrote:Topicciin on postattu 4 kuukautta sitten. Aletaas nyt herättää sitä

Miten saisin tuon Visual C++:n toimimaan? Kääntäjä ilmoittaa aina, että virhe siellä, virhe täällä. Ärsyttävää :(
Tuo kyllä toimii aivan oikein. Käytän tuota mm. cbChipmunkissa joka on myöskin käännetty VC++:lla. Minkälaista virheilmoitusta kääntäjä antaa?

jaa.. VS:n ilmoittaa, että nyt olisi aika hankkia product key - tunnus.... En nyt kyllä voi kertoa ongelmista, jotka eivät ole saatavilla...

No mutta, sama homma oli Dev-C++:sassa. Eli virhe oli tällainen:

koodi oli tämä:

Code: Select all


#include <iostream.h>

void main()
{
  cout << "Hello world!";
}

ja tulos oli: 2 C:\Dev-Cpp\include\c++\backward\backward_warning.h:32
#warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.

Editori avasi ioastream.h tiedoston, ja viivasi punaisella tuon backward_warning.h include komennon.

Ehkä C++ on vain liian vaikea kaltaiselleni epäonnistujalle :roll:

Re: Teh DLL-opas VERSIO 1.1

Posted: Wed Mar 07, 2012 5:52 pm
by Latexi95
Konstaduck wrote: jaa.. VS:n ilmoittaa, että nyt olisi aika hankkia product key - tunnus.... En nyt kyllä voi kertoa ongelmista, jotka eivät ole saatavilla...

No mutta, sama homma oli Dev-C++:sassa. Eli virhe oli tällainen:

koodi oli tämä:

Code: Select all


#include <iostream.h>

void main()
{
  cout << "Hello world!";
}

ja tulos oli: 2 C:\Dev-Cpp\include\c++\backward\backward_warning.h:32
#warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.

Editori avasi ioastream.h tiedoston, ja viivasi punaisella tuon backward_warning.h include komennon.

Ehkä C++ on vain liian vaikea kaltaiselleni epäonnistujalle :roll:
Sulla on siis jotain antiikkisia headereita koneellasi. Ilmeisesti Dev-Cpp:n mukana on tullut jotain headereita jotka ovat nykyään jo vanhentuneita. Mutta tuo on vain varoitus joten sen ei kuitenkaan pitäisi estää kääntämistä, ellei sinulla ole asetuksista laitettu varoituksia käsiteltäviksi virheinä.

Re: Teh DLL-opas VERSIO 1.1

Posted: Wed Mar 07, 2012 6:17 pm
by Konstaduck
Latexi95 wrote: Sulla on siis jotain antiikkisia headereita koneellasi. Ilmeisesti Dev-Cpp:n mukana on tullut jotain headereita jotka ovat nykyään jo vanhentuneita. Mutta tuo on vain varoitus joten sen ei kuitenkaan pitäisi estää kääntämistä, ellei sinulla ole asetuksista laitettu varoituksia käsiteltäviksi virheinä.
Antiikkisista headereista en tiedä, mutta sellaista asetustakaan en löytänyt, joka koskisi kääntäjän varoituksia käsiteltävän virheinä... Koitan nyt Googlettaa, ja jos ei mitään löydy, olen kyllä neuvoton :(

50 viestiä komeesti rikki C++ parissa!
EDIT:

Eipä sieltä mitään löytynyt :(


Re: Teh DLL-opas VERSIO 1.1

Posted: Wed Mar 07, 2012 7:48 pm
by esa94
Headeri ei ole iostream.h vaan iostream, mistä virhe. Aivan kuten siinä lukee.

Re: Teh DLL-opas VERSIO 1.1

Posted: Thu Mar 08, 2012 4:28 pm
by MaGetzUb
Konstaduck wrote:
Latexi95 wrote: Sulla on siis jotain antiikkisia headereita koneellasi. Ilmeisesti Dev-Cpp:n mukana on tullut jotain headereita jotka ovat nykyään jo vanhentuneita. Mutta tuo on vain varoitus joten sen ei kuitenkaan pitäisi estää kääntämistä, ellei sinulla ole asetuksista laitettu varoituksia käsiteltäviksi virheinä.
Antiikkisista headereista en tiedä, mutta sellaista asetustakaan en löytänyt, joka koskisi kääntäjän varoituksia käsiteltävän virheinä... Koitan nyt Googlettaa, ja jos ei mitään löydy, olen kyllä neuvoton :(

50 viestiä komeesti rikki C++ parissa!
EDIT:

Eipä sieltä mitään löytynyt :(

Suosittelen sinulle lämpimästi Code::Blocksia ihan pelkän editorin(IDE) takia. (se ei ole niin jumalattoman hidas kuin Visual Studio (IDE)) Se on aivan yhtä hyvä C++ ohjelmointiympäristö kuin VC++. :P

Re: Teh DLL-opas VERSIO 1.1

Posted: Thu Mar 08, 2012 5:11 pm
by Konstaduck
esa94 wrote:Headeri ei ole iostream.h vaan iostream, mistä virhe. Aivan kuten siinä lukee.
Olen suomenkielistä C++ opasta lukenut, ja siellä luki että se iostream.h eli otsikkotiedosto. Tuossa jos se on pelkkä iostream, niin se herjaa virhettä jo ensimmäisen { merkin kohdalla...
MaGetzUb wrote: Suosittelen sinulle lämpimästi Code::Blocksia ihan pelkän editorin(IDE) takia. (se ei ole niin jumalattoman hidas kuin Visual Studio (IDE)) Se on aivan yhtä hyvä C++ ohjelmointiympäristö kuin VC++. :P
Kokeilenpas tuota, jospa se vaikka toimisi...

Re: Teh DLL-opas VERSIO 1.1

Posted: Thu Mar 08, 2012 5:20 pm
by koodaaja
"Examples include substituting the <X> header for the <X.h> header for C++ includes..."

Jos lukisit mitä kääntäjä sinulle kertoo, ei tarvitsisi kysellä foorumeilla keneltäkään ;) Eli headerin nimi on iostream. Minulla se ei ainakaan anna minkään maailman virheitä, joten halunnet tarkistaa includen hakemat polut (VC++:ssa Project->projektinnimi properties...->C/C++->Additional Include Directories), jossa pitäisi olla ainakin $(IncludePath) ja mieluusti projektin oma kansio, ihan siltä varalta että haluat includeta itse kirjoiteltuja headereita.

Ja miniläppärikäytön perusteella sanoisin että VC++ ja C::B ovat käynnistysaikaa lukuunottamatta aivan yhtä nopeita (eli hitaita). Kyse on lähinnä mielipidekysymyksestä, itse en aluksi ymmärtänyt VC++:n asetuksista mitään ja syytin tietysti IDE:ä epäloogisuudesta vaikka se toimii aivan fiksusti kun jonkin aikaa katselee.

Re: Teh DLL-opas VERSIO 1.1

Posted: Thu Mar 08, 2012 5:23 pm
by Latexi95
Konstaduck wrote: Olen suomenkielistä C++ opasta lukenut, ja siellä luki että se iostream.h eli otsikkotiedosto. Tuossa jos se on pelkkä iostream, niin se herjaa virhettä jo ensimmäisen { merkin kohdalla...
Nämä c++:n headeri systeemit ovat vähän hankalia alkuun. Ne kun saattavat vaihdella kääntäjän mukaan.
Pitäisiköhän jatkaa näiden ongelmien setvimistä vaikka C++-kysymykset topicissa, kun nämä ongelmat eivät enää varsinaisesti liity tähän oppaaseen.
MaGetzUb wrote: Suosittelen sinulle lämpimästi Code::Blocksia ihan pelkän editorin(IDE) takia. (se ei ole niin jumalattoman hidas kuin Visual Studio (IDE)) Se on aivan yhtä hyvä C++ ohjelmointiympäristö kuin VC++. :P
Kokeilenpas tuota, jospa se vaikka toimisi...[/quote]
Itse olen tykästynyt QtCreatoriin (jonka kyllä muistan mainita riittävän usein). Pidän sen käyttöliittymää paljon kätevämpänä ja hienompana kuin Code::Blocksin. VS on taas kyllä tehokas, kun se pystyy löytämään enemmän kirjoitusvirheitä jo kirjoitusvaiheessa ennen varsinaista kääntämistä, mutta se on taas osaksi tuon takia erittäin raskas ja käyttöliittymään on ahdettu hirvittävästi erilaisia asioita joten aloittelijalta menee jonkun aikaa ennen kuin sen pystyy sisäistämään.

Re: Teh DLL-opas VERSIO 1.1

Posted: Thu Mar 08, 2012 11:41 pm
by esa94
Latexi95 wrote:Nämä c++:n headeri systeemit ovat vähän hankalia alkuun. Ne kun saattavat vaihdella kääntäjän mukaan.
No enpä ole kuullut kyllä kenestäkään joka enää käyttäisi muuta kuin tuoretta GCC:tä tai Clangia eli sitten MSVC:tä ja niissä headerit on tehty ihan standardin mukaan.