Gå til innhold

Har ikkje peiling på c++, trenger litt hjelp!


Anbefalte innlegg

Videoannonse
Annonse

C++ ikke er et scriptspråk, men et programmeringsspråk.

For å kunne kjøre programmet må du "compile" .cpp-filene. Det gjør du ved å kjøre de gjennom en "compiler". Eksempler på gratis "compilere" er MinGW, Borland og Microsoft Free Compiler(?).

Lenke til kommentar

- Foreslår at du enten skaffer en ferdigkompilert versjon av tingen(e). Det er uendlig mange måter å kompilere slike prosjekter på, men en titt i README, kan ofte gi noen hint.

 

- Får noen andre til å kompilere det for deg.

 

..eller..

 

- Hvis du har interessen; lærer deg C++ fra scratch. :) Dette kan ta noen uker/måneder/år, alt ettersom hvor mye du trenger eller har lyst til å lære.

Endret av søppel
Lenke til kommentar

gå git: http://www.bloodshed.net og last ned Dev-c++ 5. Finn filen som inneholder teksten

int main(int args.. osv)

(eller void main(...))

og laster den opp i Dev-c++.

 

Så trykker du F9 på denne fila. Hvis koden er kodet etter ANSI standarden så skal dette fungere og programmet kjøre.

 

Hvis den er programmert med borland (se etter f.eks #include <vcl.h> ) så må du kompilere med Borland, er den kompilert med Visual Studio (set etter f.eks #include "stdafx.h") så må du kompilere med visual Studio. Forskjellige versjoner kan ha forskjellige tolkemåter, men de nyeste kompilerene er som oftest bakoverkompatible (kan kompilere filer som er skrevet i eldre skriftspråk av samme merke)

Endret av Vial
Lenke til kommentar

Det der kommer ikke til å fungere siden linkeren kommer til å klage på "unresolved externals" (flere .cpp-filer ikkes.) eller lignende, hvis den i det hele tatt kommer så langt som til linker-skrittet.

 

Det du må gjøre er å finne ut av åssen "build-system" programmereren bruker, og hvordan du bruker/kaller build-systemet hans/hennes.

 

Det vanligste er GNU Make, da skal han/hun også normalt ha laget en README eller INSTALL -tekstfil som du kan lese hva du skal gjøre i. Det vanligste er å bare starte make i roota på kilde-treet (eventuellt ./configure først).

 

En annen måte er at programmereren har lagt ved noen prosektfiler til ett eller annet IDE (f.eks. Dev-C++, Borland eller VC++) - da blir det å laste inn denne prosektfila og kompilere på vanlig vis v.h.a. IDE'et.

 

Tror i hvertfall ikke jeg kommer til å gå mer inn på dette her - siden jeg synes ikke det har noe med C/C++ å gjøre i det hele tatt, i denne sammenhengen.

 

(og jeg kommer ikke til å forklare hvorfor jeg ikke synes det har noe med C/C++ å gjøre heller)

Lenke til kommentar
- Foreslår at du enten skaffer en ferdigkompilert versjon av tingen(e). Det er uendlig mange måter å kompilere slike prosjekter på, men en titt i README, kan ofte gi noen hint.

 

- Får noen andre til å kompilere det for deg.

 

..eller..

 

- Hvis du har interessen; lærer deg C++ fra scratch. :) Dette kan ta noen uker/måneder/år, alt ettersom hvor mye du trenger eller har lyst til å lære.

Nå var dette eit script som eg ville laste ned for å sjå på. Kan PHP brukbart godt (Men er ELENDIG i engelsk). Eg ville sjå om det var noko eg i det heile tatt kunne tenkje på å lære meg. Då ville eg og fått til å "prøvekøyre" scriptet litt. Og eksprimentere litt med det...

Lenke til kommentar

Oki - start med et enklere ett:

 

#include <iostream>

using namespace std;

int main()
{
 cout << "Hello World" << endl;
 cin.get();
 return(0);
}

 

Dette er blitt (nesten standard) det første programmet man lager når man lærer seg ett nytt språk. :]

 

Edit:

Du MÅÅÅ kunne/lære engelsk!

Endret av søppel
Lenke til kommentar
Nå var dette eit script som eg ville laste ned for å sjå på. Kan PHP brukbart godt (Men er ELENDIG i engelsk). Eg ville sjå om det var noko eg i det heile tatt kunne tenkje på å lære meg. Då ville eg og fått til å "prøvekøyre" scriptet litt. Og eksprimentere litt med det...

For å pirke/skrape/grave så er ikke C++ et scriptspråk som nevnt tidligere.

 

Men kan du PHP, vil du finne noen likheter, men noen av prinsippene er forskjellige, så les noen tutorials du .... Og lær deg engelsk, mye fin dokumentasjon som er tilgjengelig på engelsk ;)

Lenke til kommentar
Oki - start med et enklere ett:

 

#include <iostream>

using namespace std;

int main()
{
 cout << "Hello World" << endl;
 cin.get();
 return(0);
}

 

Dette er blitt (nesten standard) det første programmet man lager når man lærer seg ett nytt språk. :]

Ok! Men korleis kan eg køyre dette programmet?

Lenke til kommentar

Det var noko håplaust. Eg får bare EIT script til å fungera. Til og med koden som står som eit eksempel HER fungerar ikkje i det heiletatt. Eg får bare denne feilmeldinga (les koden HER) :

 

rolig.cpp:14: error: expected constructor, destructor, or type conversion before '=' token

rolig.cpp:14: error: expected `,' or `;' before '=' token

rolig.cpp:15: error: expected constructor, destructor, or type conversion before '=' token

rolig.cpp:15: error: expected `,' or `;' before '=' token

rolig.cpp:16: error: expected constructor, destructor, or type conversion before '=' token

rolig.cpp:16: error: expected `,' or `;' before '=' token

rolig.cpp:17: error: expected constructor, destructor, or type conversion before ';' token

rolig.cpp:19: error: expected constructor, destructor, or type conversion before ';' token

rolig.cpp:20: error: expected constructor, destructor, or type conversion before '=' token

rolig.cpp:20: error: expected `,' or `;' before '=' token

rolig.cpp:21: error: expected constructor, destructor, or type conversion before '=' token

rolig.cpp:21: error: expected `,' or `;' before '=' token

rolig.cpp:23: error: expected constructor, destructor, or type conversion before ';' token

rolig.cpp:24: error: expected constructor, destructor, or type conversion before ';' token

rolig.cpp:26: error: `LRESULTCALLBACK' does not name a type

rolig.cpp: In function `int DrawGLScene()':

rolig.cpp:63: error: `rtri' undeclared (first use this function)

rolig.cpp:63: error: (Each undeclared identifier is reported only once for each function it appears in.)

rolig.cpp:93: error: `rquad' undeclared (first use this function)

rolig.cpp: In function `GLvoid KillGLWindow()':

rolig.cpp:134: error: `fullscreen' undeclared (first use this function)

rolig.cpp:140: error: `hRC' undeclared (first use this function)

rolig.cpp:154: error: `hDC' undeclared (first use this function)

rolig.cpp:154: error: `hWnd' undeclared (first use this function)

rolig.cpp:166: error: `hInstance' undeclared (first use this function)

rolig.cpp: In function `BOOL CreateGLWindow(char*, int, int, int, bool)':

rolig.cpp:182: error: `GLuintPixelFormat' undeclared (first use this function)

rolig.cpp:183: error: `WNDCLASSwc' undeclared (first use this function)

rolig.cpp:184: error: `DWORDdwExStyle' undeclared (first use this function)

rolig.cpp:185: error: `DWORDdwStyle' undeclared (first use this function)

rolig.cpp:186: error: `RECTWindowRect' undeclared (first use this function)

rolig.cpp:187: error: `WindowRect' undeclared (first use this function)

 

rolig.cpp:192: error: `fullscreen' undeclared (first use this function)

rolig.cpp:194: error: `hInstance' undeclared (first use this function)

rolig.cpp:195: error: `wc' undeclared (first use this function)

rolig.cpp:196: error: `WndProc' undeclared (first use this function)

rolig.cpp:241: error: `dwExStyle' undeclared (first use this function)

rolig.cpp:242: error: `dwStyle' undeclared (first use this function)

rolig.cpp:254: error: `hWnd' undeclared (first use this function)

rolig.cpp:273: error: `staticPIXELFORMATDESCRIPTOR' undeclared (first use this function)

rolig.cpp:273: error: expected `;' before "pfd"

rolig.cpp:295: error: `hDC' undeclared (first use this function)

rolig.cpp:302: error: `PixelFormat' undeclared (first use this function)

rolig.cpp:302: error: `pfd' undeclared (first use this function)

rolig.cpp:316: error: `hRC' undeclared (first use this function)

rolig.cpp: At global scope:

rolig.cpp:345: warning: `__stdcall__' attribute only applies to function types

rolig.cpp:345: error: `LRESULT WndProc' used prior to declaration

rolig.cpp:345: error: `HWNDhWnd' was not declared in this scope

rolig.cpp:346: error: `UINTuMsg' was not declared in this scope

rolig.cpp:347: error: `WPARAMwParam' was not declared in this scope

rolig.cpp:348: error: `LPARAMlParam' was not declared in this scope

rolig.cpp:349: error: initializer expression list treated as compound expression

rolig.cpp:349: error: expected `,' or `;' before '{' token

rolig.cpp:406: warning: `__stdcall__' attribute only applies to function types

rolig.cpp:406: error: `int WinMain' redeclared as different kind of symbol

c:\mingw\mingw\bin\../lib/gcc/mingw32/3.4.0/../../../../include/winbase.h:1031: error: previous declaration of `int WinMain(HINSTANCE__*, HINSTANCE__*, CHAR*, int)'

rolig.cpp:406: error: declaration of `int WinMain'

c:\mingw\mingw\bin\../lib/gcc/mingw32/3.4.0/../../../../include/winbase.h:1031: error: conflicts with previous declaration `int WinMain(HINSTANCE__*, HINSTANCE__*, CHAR*, int)'

rolig.cpp:406: error: `HINSTANCEhInstance' was not declared in this scope

rolig.cpp:407: error: `HINSTANCEhPrevInstance' was not declared in this scope

rolig.cpp:408: error: `LPSTRlpCmdLine' was not declared in this scope

rolig.cpp:409: error: `intnCmdShow' was not declared in this scope

rolig.cpp:410: error: initializer expression list treated as compound expression

rolig.cpp:410: error: expected `,' or `;' before '{' token

 

Det var håplaust. Men dette...

   #include <windows.h>

  int WINAPI WinMain (HINSTANCE hInstance, 
                       HINSTANCE hPrevInstance, 
                       PSTR szCmdLine, 
                       int iCmdShow) 
  {
     MessageBox (NULL, "Hello", "Hello Demo", MB_OK);
     return (0);
  }

 

Fungerar av ein eller annan grunn. Og det er det einaste eg får til og. Eg prøvde med ditt eksempel. Og med ein haug med andre script...

Lenke til kommentar

Eg forstår ikkje heilt... C++ program skal jo gå ann å konvertere til exe-filer. Korleis kan eg gjæra det?

[pirke, pirke]

Du konverterer ingenting. Du oversetter til maskinkode.

Og det er ikke lurt å ta alt på Norsk. De fleste programmeringsspråk er basert på Engelsk, ikke Norsk, og dessuten er folk som kommenterer og navngir variabler på Norsk noe drit. Jeg har vært borti kode med TYSKE variabler, og TYSKE kommentarer, og det er ikke noe særlig.

 

Tenk på omverdenen - velg ENGELSK!!!

[/pirke, pirke]

Lenke til kommentar
feilen er at du kaller det script. det liker ikke kompilatoren. slutt med det.

Det liker ikke jeg heller, og sikkert ikke søppel heller. Og ikke alle andre med vett i skallen heller. (ja, det inkluderer desverre deg...)

 

EDIT: [OFFTOPIC]

WINE kjører de fleste Win32 programmer, gjør det ikke?

Har ikke testet det ennå, men jeg har hørt at det skal være bra.

[/OFFTOPIC]

Endret av kr1570ffz0r
Lenke til kommentar

Wine kjører ikke de fleste, men noen programmer. Det er sjeldent jeg bruker Wine; har alt jeg trenger i "native" form uansett.

 

Er enig i at det er viktig å komme inn i den i hvertfall nogenlunde riktige ordbruken så fort som mulig ja. Og engelsk må man kunne, og bruke, når man surrer med programmering.

Lenke til kommentar

Eg har bare EIT problem foreløpig. Det er at det kun kjem ein haug med TÅPELIGE feilmeldingar når eg prøver å komplimere dei fleste prorgam. Dette har eg forklart før og har endå ikkje fått svar...

 

Er det nokon som har komplimeringsprogrammet som ligg på denne linken: http://irc.cpp.no/cgi-bin/ciki?do=view&page=45 ? Då gidd de kanskje å teste koden som ligg her og sjå om det går fint

 

(Med denne koden "g++ eksempel.cpp -l opengl32 -l glu32 -mwindows -o eksempel")

 

eller om det kjem denne feilmeldinga:

rolig.cpp:14: error: expected constructor, destructor, or type conversion before '=' token

rolig.cpp:14: error: expected `,' or `;' before '=' token

rolig.cpp:15: error: expected constructor, destructor, or type conversion before '=' token

rolig.cpp:15: error: expected `,' or `;' before '=' token

rolig.cpp:16: error: expected constructor, destructor, or type conversion before '=' token

rolig.cpp:16: error: expected `,' or `;' before '=' token

rolig.cpp:17: error: expected constructor, destructor, or type conversion before ';' token

rolig.cpp:19: error: expected constructor, destructor, or type conversion before ';' token

rolig.cpp:20: error: expected constructor, destructor, or type conversion before '=' token

rolig.cpp:20: error: expected `,' or `;' before '=' token

rolig.cpp:21: error: expected constructor, destructor, or type conversion before '=' token

rolig.cpp:21: error: expected `,' or `;' before '=' token

rolig.cpp:23: error: expected constructor, destructor, or type conversion before ';' token

rolig.cpp:24: error: expected constructor, destructor, or type conversion before ';' token

rolig.cpp:26: error: `LRESULTCALLBACK' does not name a type

rolig.cpp: In function `int DrawGLScene()':

rolig.cpp:63: error: `rtri' undeclared (first use this function)

rolig.cpp:63: error: (Each undeclared identifier is reported only once for each function it appears in.)

rolig.cpp:93: error: `rquad' undeclared (first use this function)

rolig.cpp: In function `GLvoid KillGLWindow()':

rolig.cpp:134: error: `fullscreen' undeclared (first use this function)

rolig.cpp:140: error: `hRC' undeclared (first use this function)

rolig.cpp:154: error: `hDC' undeclared (first use this function)

rolig.cpp:154: error: `hWnd' undeclared (first use this function)

rolig.cpp:166: error: `hInstance' undeclared (first use this function)

rolig.cpp: In function `BOOL CreateGLWindow(char*, int, int, int, bool)':

rolig.cpp:182: error: `GLuintPixelFormat' undeclared (first use this function)

rolig.cpp:183: error: `WNDCLASSwc' undeclared (first use this function)

rolig.cpp:184: error: `DWORDdwExStyle' undeclared (first use this function)

rolig.cpp:185: error: `DWORDdwStyle' undeclared (first use this function)

rolig.cpp:186: error: `RECTWindowRect' undeclared (first use this function)

rolig.cpp:187: error: `WindowRect' undeclared (first use this function)

rolig.cpp:192: error: `fullscreen' undeclared (first use this function)

rolig.cpp:194: error: `hInstance' undeclared (first use this function)

rolig.cpp:195: error: `wc' undeclared (first use this function)

rolig.cpp:196: error: `WndProc' undeclared (first use this function)

rolig.cpp:241: error: `dwExStyle' undeclared (first use this function)

rolig.cpp:242: error: `dwStyle' undeclared (first use this function)

rolig.cpp:254: error: `hWnd' undeclared (first use this function)

rolig.cpp:273: error: `staticPIXELFORMATDESCRIPTOR' undeclared (first use this function)

rolig.cpp:273: error: expected `;' before "pfd"

rolig.cpp:295: error: `hDC' undeclared (first use this function)

rolig.cpp:302: error: `PixelFormat' undeclared (first use this function)

rolig.cpp:302: error: `pfd' undeclared (first use this function)

rolig.cpp:316: error: `hRC' undeclared (first use this function)

rolig.cpp: At global scope:

rolig.cpp:345: warning: `__stdcall__' attribute only applies to function types

rolig.cpp:345: error: `LRESULT WndProc' used prior to declaration

rolig.cpp:345: error: `HWNDhWnd' was not declared in this scope

rolig.cpp:346: error: `UINTuMsg' was not declared in this scope

rolig.cpp:347: error: `WPARAMwParam' was not declared in this scope

rolig.cpp:348: error: `LPARAMlParam' was not declared in this scope

rolig.cpp:349: error: initializer expression list treated as compound expression

rolig.cpp:349: error: expected `,' or `;' before '{' token

rolig.cpp:406: warning: `__stdcall__' attribute only applies to function types

rolig.cpp:406: error: `int WinMain' redeclared as different kind of symbol

c:\mingw\mingw\bin\../lib/gcc/mingw32/3.4.0/../../../../include/winbase.h:1031: error: previous declaration of `int WinMain(HINSTANCE__*, HINSTANCE__*, CHAR*, int)'

rolig.cpp:406: error: declaration of `int WinMain'

c:\mingw\mingw\bin\../lib/gcc/mingw32/3.4.0/../../../../include/winbase.h:1031: error: conflicts with previous declaration `int WinMain(HINSTANCE__*, HINSTANCE__*, CHAR*, int)'

rolig.cpp:406: error: `HINSTANCEhInstance' was not declared in this scope

rolig.cpp:407: error: `HINSTANCEhPrevInstance' was not declared in this scope

rolig.cpp:408: error: `LPSTRlpCmdLine' was not declared in this scope

rolig.cpp:409: error: `intnCmdShow' was not declared in this scope

rolig.cpp:410: error: initializer expression list treated as compound expression

rolig.cpp:410: error: expected `,' or `;' before '{' token

 

Bare det at rolig.cpp er bytta ut med eksempel.cpp

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...