Toon posts:

[DInput 8.1] Fout bij compilen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb hier een applicatie gecode die gebruik maakt van de DirectX API. Nu ik het wil compilen geeft ie de volgende error:
C:\Cpp\engine022702\engine/engine/../input/input.h(56) : error C2146: syntax error : missing ';' before identifier 'pu_lpdiKeyboard'
C:\Cpp\engine022702\engine/engine/../input/input.h(56) : error C2501: 'LPDIRECTINPUTDEVICE8' : missing storage-class or type specifiers
Het gekke is dat hij deze error alleen geeft bij de DirectInput code en niet bij de direct3d en directsound code. Ook heb ik gewoon goed dinput.lib en dinput8.lib in de instellingen van het project gezet zodat deze libraries worden gebruikt bij het compilen. Ik heb dit op precies dezelfde manier gedaan als bij d3d en dsound.

Zou iemand weten wat hier aan de hand zou kunnen zijn?

Verwijderd

Topicstarter
niemand?

  • whoami
  • Registratie: December 2000
  • Laatst online: 04-09 22:16
De compiler heeft een syntax error, en zegt wat er aan de hand is:
je bent ergens een ';' vergeten

https://fgheysels.github.io/


Verwijderd

Topicstarter
Op woensdag 26 juni 2002 12:00 schreef whoami het volgende:
De compiler heeft een syntax error, en zegt wat er aan de hand is:
je bent ergens een ';' vergeten
ik ben het niet vergeten. Hij zegt dat alleen omdat ie de LPDIRECTINPUTDEVICE8 en LPDIRECTINPUT8 niet herkent, wat raar is omdat ik toch goed de libraries gelinked heb

Verwijderd

wat raar is omdat ik toch goed de libraries gelinked heb
Dit zijn compiler errors geen linker errors, dus er zit waarschijnlijk iets in je includes of defines mis.

Verwijderd

Topicstarter
mischien is het wle even handig als ik ff de code van mijn header file geef:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
#ifndef __INPUT_H__
#define __INPUT_H__
#include "../math/vector.h"

#include "../database/log.h"

#include <dinput.h>

#define DI8IPT_MOUSE_LEFT   0
#define DI8IPT_MOUSE_RIGHT  1
#define DI8IPT_MOUSE_MIDDLE 2

#define DI8IPT_INIT_ALL 1
#define DI8IPT_KEYBOARD 2
#define DI8IPT_MOUSE    4


class CKEYBOARD
{
    private:
[b]     LPDIRECTINPUTDEVICE8 pu_lpdiKeyboard;[/b]
        unsigned char        g_ucKeyBuffer[256];    //The keyboard's key buffer

    public:

[b] bool bInit(LPDIRECTINPUT8 a_lpdi, HWND a_hwnd);[/b]
    void vShutdown(void);

    void vUpdate(void);

    bool bKeyDown(unsigned char a_ucKey);
    bool bKeyUp(unsigned char a_ucKey);

    CKEYBOARD(void)
    {   memset(&g_ucKeyBuffer, 0, sizeof(unsigned char[256]));  }
    ~CKEYBOARD(void)
    {   }
};

class CMOUSE
{
    private:
[b]       LPDIRECTINPUTDEVICE8 pu_lpdiMouse;[/b]
        DIMOUSESTATE         g_mouseState;          //The mouse's 'buffer'

        CVECTOR              p_vMousePosition;
        float                p_fMouseSensitivity;

    public:

[b]     bool bInit(LPDIRECTINPUT8 a_lpdi, HWND a_hwnd);[/b]
    void vShutdown(void);

    void vUpdate(void);

    void vGetMovement(int& a_iX, int& a_iY, int& a_iWheel);
    bool bButtonDown(int a_iButton);
    bool bButtonUp(int a_iButton);

    CMOUSE(void)
    {   }
    ~CMOUSE(void)
    {   }
};

class CINPUT
{
    private:
[b]       LPDIRECTINPUT8 pu_lpdi;[/b]

        CKEYBOARD* p_pKeyboard;
        CMOUSE*    p_pMouse;

    public:


    bool bInit(HWND a_hwnd, HINSTANCE a_instance, int flags);
    void vShutdown(void);

    void vUpdate(void);

    bool bKeyDown(unsigned char a_ucKey);
    bool bKeyUp(unsigned char a_ucKey);

    void vGetMovement(int& a_iX, int& a_iY, int& a_iWheel);
    bool bButtonDown(int a_iButton);
    bool bButtonUp(int a_iButton);

    CINPUT(void)
    {   }
    ~CINPUT(void)
    {   }
};

#endif

  • whoami
  • Registratie: December 2000
  • Laatst online: 04-09 22:16
En op welke lijn wordt de error gegeven? Duid ze eens aan.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Op woensdag 26 juni 2002 12:26 schreef whoami het volgende:
En op welke lijn wordt de error gegeven? Duid ze eens aan.
overal waar die DIRECTINPUTDEVICE8 dingen staan dus op regel 56, 60, 77, 85 en 103

in die code heb ik er even overal een [ b] voor gezet

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 00:21

Creepy

Tactical Espionage Splatterer

What happens if I get these kind of errors while building XClient?

LPDIRECT****** : missing storage-class or type specifiers

You don't have the DirectX SDK properly installed. Install it :)
Komt van http://www.worldforge.org/project/newsletters/August2001/CompilingXclient/#Troubleshooting

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Topicstarter
Op woensdag 26 juni 2002 13:34 schreef Creepy het volgende:

[..]

Komt van http://www.worldforge.org/project/newsletters/August2001/CompilingXclient/#Troubleshooting
zal em is opnieuw installeren dan
Pagina: 1