Programiranje u C++-u - pitanja i odgovori izdvojena tema

poruka: 7.285
|
čitano: 1.713.171
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Reinstalirao sam Windowse i instalirao C::B + MinGW ali kad Build and Run SFML program,dodje mi error

 

da mi fali ovaj file: libgcc_s_dw2-1.dll

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Jesi li ti to naknadno skidao MinGW?

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Ne,skinuo sam cb sa MinGW om.
HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...
Ne,skinuo sam cb sa MinGW om.

A odakle si skinuo SFML? Daj mi točan link.

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori
HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Popravio.

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Poruka je uređivana zadnji put čet 16.8.2012 17:31 (FireMan97).
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Da, sve je jasno. Ta verzija SFML-a je buildana sa DW2 verzijom MinGW-a, pa ima dependancy na DW2 inačicu libgcc-a. Trebao bi rebuildati SFML sa SJLJ verzijom MinGW-a, pa bi se riješio tog dependencyja. Ili statički linkati libgcc sa SFML-om.

 

Imaš čak i Code Blocks workspace za kompajliranje SFML-a pa ne bi trebao biti prevelik problem, možeš se okušati u tome. Da naučiš nešto novo. :D

 

FireMan97 kaže...

Popravio.

Što si popravio? Radi ti program? Kako si riješio?

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
Poruka je uređivana zadnji put čet 16.8.2012 17:57 (rustweaver).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Trebao sam staviti taj dll u mapu sa programom,sad imam jedan problem,pisem SFML program po tutorialu i dobivam ovaj error:

 

C:\Users\David\Dropbox\C++\SFMLTutorial1\main.cpp|31|error: 'class sf::RenderWindow' has no member named 'PollEvent'|

 

Sve druge clanove ima samo ne to,probao sam i sa malo p,ista stvar.

 

Radim po ovom tutorialu:

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Trebao sam staviti taj dll u mapu sa programom

To je jasno, ali imaš jedan bezrazložan dependency kojeg se možeš riješiti.

 

FireMan97 kaže...

sad imam jedan problem,pisem SFML program po tutorialu i dobivam ovaj error:

 

C:\Users\David\Dropbox\C++\SFMLTutorial1\main.cpp|31|error: 'class sf::RenderWindow' has no member named 'PollEvent'|

 

Sve druge clanove ima samo ne to,probao sam i sa malo p,ista stvar.

Ti imaš SFML 1.6, tutorial je očito pisan za verziju 2.0

 

http://www.sfml-dev.org/documentation/1.6/classsf_1_1RenderWindow.php

http://www.sfml-dev.org/documentation/2.0/classsf_1_1RenderWindow.php

 

Pogledaj članove u obje verzije...

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Sta da sad napravim?

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Poruka je uređivana zadnji put čet 16.8.2012 19:08 (FireMan97).
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Skini SFML 2.0 i njega koristi umjesto verzije 1.6

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Sad nisam dobio 2.0 external libraryes.

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Sad nisam dobio 2.0 external libraryes.

Evo ja sam buildao SFML za tebe:

 

SFML 2.0 static build

SFML 2.0 dynamic build

 

To je sada valjda to...

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
Hvala radi,sad,kako napraviti petlju koja ce se izvrsavati 60 puta u sekundi?
HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...
Hvala radi,sad,kako napraviti petlju koja ce se izvrsavati 60 puta u sekundi?

#include <stdio.h>

#include <time.h>

main(){

   long start=clock(), i=0;

   while (clock()-start<1000) {

     if (clock()-start-1000./60*i>=1000./60){

       printf("%i\n",++i);

     }

   }

}

15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...
Hvala radi,sad,kako napraviti petlju koja ce se izvrsavati 60 puta u sekundi?

Ovako:

http://www.koonsolo.com/news/dewitters-gameloop/

 

Kao što ćeš iz tog linka vidjeti glavna petlja nije baš toliko jednostavna stvar koliko se možda na prvi pogled čini. Imaš obrađena 4 različita pristupa od najjednostavnijeg do najkompliciranijeg. Savjetujem ti da sav taj tekst pročitaš i nekoliko puta ako treba.

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
17 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...
Hvala radi,sad,kako napraviti petlju koja ce se izvrsavati 60 puta u sekundi?

#include <chrono>
#include <thread>
#include <iostream>

int main()
{
    auto start_time=std::chrono::high_resolution_clock::now();
    uint64_t iter=0;
    while (true)
    {
       iter++;
       std::this_thread::sleep_until(start_time + iter * std::chrono::nanoseconds(1000*1000*1000/60));
    }

}Uoci da je ovo sleep_until, a ne sleep_for, dakle mozes raditi nesto u petlji i i dalje ce se izvrsavati 60 x u sekundi, naravno ako ti traje predugo ostatak petflje onda si u problemima :)

13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

@Zoidberg

 

Dobivam error:

 

'std::this_thread' has not been declared|

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Poruka je uređivana zadnji put pet 17.8.2012 11:13 (FireMan97).
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

@Zoidberg

 

Dobivam error:

 

'std::this_thread' has not been declared|

 

 

#define _GLIBCXX_USE_NANOSLEEP /* ukucaj ovako , ako prođe thread moglo bi biti problema s chrono */

 
#include <chrono>
#include <thread>
#include <iostream>

/*

code...

*/

/*
može ti pomoći i ne mora , ne znam koji compiler
vrtiš , verziju itd..
ako je mingw uključi podršku za C++0X
btw ovo je c++11 standard koji nema full implementaciju
u svim kompajlerima te stoga imaš taj error
probaj ovako
*/

Poruka je uređivana zadnji put pet 17.8.2012 12:03 (nik_02).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Opet isto,ukljucio sam podrsku za C++0x jer bez toga nisam mogao compilat,vodilo me u neki library.

 

evo kod ako ce pomoci:

 

#include <chrono>
#include <thread>
#include <iostream>
#include <SFML/Graphics.hpp>
#define _GLIBCXX_USE_NANOSLEEP /* ukucaj ovako , ako prođe thread moglo bi biti problema s chrono

int main()
{
    sf::VideoMode VMode (800, 600, 32);
    sf::RenderWindow Window(VMode, "Game", sf::Style::Fullscreen);

    auto start_time=std::chrono::high_resolution_clock::now();
    uint64_t iter=0;

    while (Window.isOpen()) // Gameloop
    {
       iter++;
       std::this_thread::sleep_until(start_time + iter * std::chrono::nanoseconds(1000*1000*1000/60));
    }

}

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Poruka je uređivana zadnji put pet 17.8.2012 12:06 (FireMan97).
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Opet isto,ukljucio sam podrsku za C++0x jer bez toga nisam mogao compilat,vodilo me u neki library.

 

evo kod ako ce pomoci:

 

#include <chrono>
#include <thread>
#include <iostream>
#include <SFML/Graphics.hpp>
#define _GLIBCXX_USE_NANOSLEEP /* ukucaj ovako , ako prođe thread moglo bi biti problema s chrono

int main()
{
    sf::VideoMode VMode (800, 600, 32);
    sf::RenderWindow Window(VMode, "Game", sf::Style::Fullscreen);

    auto start_time=std::chrono::high_resolution_clock::now();
    uint64_t iter=0;

    while (Window.isOpen()) // Gameloop
    {
       iter++;
       std::this_thread::sleep_until(start_time + iter * std::chrono::nanoseconds(1000*1000*1000/60));
    }

}

 

 

 

 

#define _GLIBCXX_USE_NANOSLEEP
// molim te stavi kako sam ti naveo
// u kodu ovaj define na vrh prije include std-a
// to je za moguce porbleme s chrono ako prodje thread

#include <chrono>
#include <thread>
#include <iostream>
#include <SFML/Graphics.hpp>

 

 

imam osjećaj da si na mingw

ako je tako da li je bundle verzija na bin verziji Code::Blocksa

Ako je tako onda ti gcc 4.4.1 koliko se sjećam , nisam doma

da vidim pa pišem prilično napamet.

Uglavnom ta verzija bi mogla imat kroz -std+= C++0X thread.

Daj netko neka provjeri , možda fireman radi nešto krivo

u pozadini.

Pošto me nema doma , ja ne mogu.

13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Koristim MinGW i Code::Blocks(MinGW koj sam dobio sa C::B).

 

C++0x sam prije ukljucio jer nisam mogao compilat,dalo bi mi da je tu error:

 

#error This file requires compiler and library support for the upcoming \
ISO C++ standard, C++0x. This support is currently experimental, and must be \
enabled with the -std=c++0x or -std=gnu++0x compiler options.
#endif

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Sad sam napravio ovako:

 

#include <chrono>
#include <thread>
#include <iostream>
#include <SFML/Graphics.hpp>

const int FRAMES_PER_SECOND = 25;
const int SKIP_TICKS = 1000 / FRAMES_PER_SECOND;

DWORD next_game_tick = GetTickCount();
int sleep_time = 0;

int main()
{
    sf::VideoMode VMode (800, 600, 32);
    sf::RenderWindow Window(VMode, "Game", sf::Style::Fullscreen);

    sf::Texture Platform;

    if(!Platform.loadFromFile("platform.jpeg"))
        return 1;

    sf::Sprite Sprite;

    Sprite.setTexture(Platform);

    //auto start_time=std::chrono::high_resolution_clock::now();
    //uint64_t iter=0;

    while (Window.isOpen()) // Gameloop
    {
        next_game_tick += SKIP_TICKS;
        sleep_time = next_game_tick - GetTickCount();
        if( sleep_time >= 0 ) { Sleep( sleep_time ); }

        sf::Event Event;

    }

}

 

Errori:

 

C:\Users\David\Dropbox\C++\SFMLGame\main.cpp|9|error: 'DWORD' does not name a type|
C:\Users\David\Dropbox\C++\SFMLGame\main.cpp||In function 'int main()':|
C:\Users\David\Dropbox\C++\SFMLGame\main.cpp|31|error: 'next_game_tick' was not declared in this scope|
C:\Users\David\Dropbox\C++\SFMLGame\main.cpp|32|error: 'GetTickCount' was not declared in this scope|
C:\Users\David\Dropbox\C++\SFMLGame\main.cpp|33|error: 'Sleep' was not declared in this scope|
C:\Users\David\Dropbox\C++\SFMLGame\main.cpp|35|warning: unused variable 'Event'|
||=== Build finished: 4 errors, 1 warnings ===|

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...
...

Dodaj

 

#include <windows.h>

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
Poruka je uređivana zadnji put pet 17.8.2012 14:54 (rustweaver).
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Hvala radi.

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Sad imam problem,evo kod za otvaranje slike:

 

sf::Texture Platform;

    if(!Platform.loadFromFile("pf.jpeg"))
        return 1;

    sf::Sprite Sprite;

    Sprite.setTexture(Platform);

 

 

Pise da nemoze otvoriti a slika je u mapi sa programom.

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
15 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...
Pise da nemoze otvoriti a slika je u mapi sa programom.

Tko zna koji ti je working directory od programa. Pobaj staviti punu putanju (ono, tipa "c:\igra\slike\slika.jpg")

 

EDIT: Zaboravih, morat ćeš stavljati dvostruki backslash jer će ti jednostruki biti interpretiran kao escape sekvenca

dakle onaj gornji primjer bi trebao ići "c:\\igra\\slike\\slika.jpg"

Oscar-Mike-Golf Whiskey-Tango-Foxtrot
Poruka je uređivana zadnji put pet 17.8.2012 15:17 (rustweaver).
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori

Postavi debugger pa vidi gdje je problem.

13 godina
neaktivan
offline
Programiranje u C++-u - pitanja i odgovori

Program se gasi na ucitavanju slike,u konzolu ispise da je nemoze otvoriti.

HUGE RESPECT: woodgamesfx, captain_soap_McTawish, rustweaver, royalhero, tracerCPP,Indestructible
Moj PC  
0 0 hvala 0
13 godina
neaktivan
offline
Re: Programiranje u C++-u - pitanja i odgovori
FireMan97 kaže...

Program se gasi na ucitavanju slike,u konzolu ispise da je nemoze otvoriti.

Puna putanja?

E-mail:
Lozinka:
 
vrh stranice