c++ compiler foutcode nergens te vinden

Status
Niet open voor verdere reacties.

BugMenOT2

Gebruiker
Lid geworden
23 nov 2006
Berichten
296
Hallo,

Heb even een vraagje

Ik krijg telkens deze foutmelding als ik deze code compileer:

implicit declaration of function `int timeGetTime(...)'

Ik heb al eens windows.h en time.h geinclude maar dit helpt niet en ik kan er niks van in google vinden

Kan iemand me hier misschien bij helpen aub ?

(heb dit in php mode gezet voor highlighting)
PHP:
#include <iostream>
#include "Console.h"

using namespace std;

/****************************************
**************************************
    Constante variabelen
 ****************************************
**************************************/

/**
 * De toetsen voor de besturing van Pengo.
 */
const int PengoUp    = VK_UP;
const int PengoDown  = VK_DOWN;
const int PengoLeft  = VK_LEFT;
const int PengoRight = VK_RIGHT;

/**
 * De toetsen voor de besturing van het spel.
 */
const int GameExit = VK_ESCAPE;

/**
 * Het ASCII-teken dat Pengo voorstelt.
 */
const char PengoCharacter = '*';

/**
 * De vertraging van de game loop in milliseconden.
 */
const int GameDelay = 250;

/****************************************
**************************************
    Globale functies
 ****************************************
**************************************/

/**
 * Het programma start hier.
 *
 * @return    altijd 0
 */
int main()
{
    
    // houd richting van Pengo bij
    int myDirection = 0;

    // houd positie van Pengo bij
    int myX = 40;
    int myY = 12;

    // teken Pengo
    MoveCursor(myX, myY);
    cout << PengoCharacter;

// laat speler Pengo besturen
int myKey;

do
{
    // vraag huidige tijd op
    DWORD myTime = timeGetTime();

    // wacht tot vertraging om is
    while (timeGetTime() < (myTime + GameDelay));

    // wacht op een toets
    int myKey = PeekVirtualKey();

    // verwijder Pengo van scherm
    MoveCursor(myX, myY);
    cout << " ";

// is er een toets ingedrukt?
if (PeekVirtualKey() != 0)
{
    // ja, verwijder toets uit buffer
    myKey = GetVirtualKey();

// welke toets is ingedrukt?
switch (myKey)
{
case PengoUp:
    {
        // stel richting in
        myDirection = 1;
    } break;
case PengoDown:
    {
        // stel richting in
        myDirection = 2;
    } break;
case PengoLeft:
    {
        // stel richting in
        myDirection = 3;
    } break;
case PengoRight:
    {
        // stel richting in
        myDirection = 4;
    } break;
 }
}

// verwijder Pengo van scherm
MoveCursor(myX, myY);
cout << " ";

// in welke richting beweegt Pengo?
switch (myDirection)
{
case 1:
    {
        // verplaats Pengo omhoog
        myY--;
    } break;
case 2:
    {
        // verplaats Pengo omlaag
        myY++;
    } break;
case 3:
    {
        // verplaats Pengo naar links
        myX--;
    } break;
case 4:
    {
        // verplaats Pengo naar rechts
        myX++;
    } break;
}


    // teken Pengo
    MoveCursor(myX, myY);
    cout << PengoCharacter;

} while (myKey != GameExit);

    // teken Pengo
    MoveCursor(myX, myY);
    cout << PengoCharacter;

    // wacht op enter
    cout << endl;
    system("pause");

    return 0;
}
 
Letterlijk overgenomen van http://www.ronkes.nl/programmeren/pengo/gameloop.asp (direct met google gevonden trouwens...)

Als je Pengo nu compileert, krijg je waarschijnlijk een foutmelding van de linker. Dat komt doordat timeGetTime opgenomen is in een library die niet meegelinkt wordt. Net als dat je dat gedaan hebt voor Console.lib, moet je aangeven dat je winmm.lib wilt meelinken. Afhankelijk van je IDE, moet je kiezen uit de volgende stappen.

* Borland C++ Builder
Klik op Project > Add To Project..., selecteer winmm.lib in de map \Program Files\Borland\CBuilder6\Lib\Psdk en klik op open.
* Microsoft Visual C++
Klik op Project > Settings... en selecteer het tabblad Link. Voeg bij Object/Library Modules achteraan winmm.lib toe (de rest laten staan!) en klik op OK.
* Bloodshed DevC++
Nog niet gecontroleerd! Klik op Project > Project Options en selecteer het tabblad General. Typ libwinmm.a in het tekstvak Linker Options/Optional Libs or Object files.

--Johan
 
Die libwinmm.a is al toegevoegd daarmee ik het niet meteen begrijp en in windows.h en time.h is hem ok niet gedefinieerd.

Weet iemand hier de oplossing voor ?

groetjes,
Benny
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan