IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DirectX Discussion :

DXUTSound : erreur de compilation


Sujet :

DirectX

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut DXUTSound : erreur de compilation
    J'essaye d'utiliser la classe CSoundManager du fichier DXUTsound.h du SDK, mais j'obtiens des erreur de link où d'entête précompilé ( .pch) manquant.

    J'ai réinstallé un système entier et j' obtiens les mêmes erreurs.

    J'ai utilisé et/ou linké dxguid.lib

    voici les librairies incluses dans la projet :
    dsound.lib
    odbc32.lib
    odbccp32.lib
    comctl32.lib
    winmm.lib
    d3d9.lib
    d3dx9.lib
    dxguid.lib
    dxerr.lib
    dinput8.lib
    dxerr9.lib
    d3dxof.lib

    J'incorpore donc dans code le fichier "dxstdafx.h" des entêtes directx. Celui ci charge DXUTsound.h et la ligne suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	CSoundManager* g_pSoundManager = new CSoundManager();
    donne l'erreur : DoomDX9.obj : error LNK2019: unresolved external symbol "public: __thiscall CSoundManager::CSoundManager(void)" (??0CSoundManager@@QAE@XZ) referenced in function "bool __cdecl InitDirectSound(void)" (?InitDirectSound@@YA_NXZ)

    Si j'include dans mon projet DXUTsound.h et .cpp j'obtiens l'erreur :

    e:\doomdx9\common\dxutsound.cpp(1580) : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "StdAfx.h"' to your source?

    Erreur au niveau des headers précompilés.

    A noter, les lignes de code suivantes compilent sans erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
        hr=DirectSoundCreate8( NULL, &g_lpDirectSound8, NULL );
    	if (hr!=D3D_OK) {OutputDebugString( TEXT("InitDirectSound DirectSoundCreate8 erreur\n"));}
     
     
    	hr=g_lpDirectSound8->SetCooperativeLevel( g_hWndMain, DSSCL_PRIORITY );
    	if (hr!=D3D_OK) {OutputDebugString( TEXT("InitDirectSound SetCooperativeLevel erreur\n"));}
     
    LPDIRECTSOUNDBUFFER pSoundBuf=NULL;
     
        // Get the primary buffer
        DSBUFFERDESC dsbd;
        ZeroMemory( &dsbd, sizeof(DSBUFFERDESC) );
        dsbd.dwSize        = sizeof(DSBUFFERDESC);
        dsbd.dwFlags       = DSBCAPS_PRIMARYBUFFER;
        dsbd.dwBufferBytes = 0;
        dsbd.lpwfxFormat   = NULL;
     
    	hr=g_lpDirectSound8->CreateSoundBuffer(&dsbd,&pSoundBuf,NULL);
    	if (hr!=D3D_OK) {OutputDebugString( TEXT("InitDirectSound CreateSoundBuffer erreur\n"));}
     
        WAVEFORMATEX wfx;
        ZeroMemory( &wfx, sizeof(WAVEFORMATEX) );
        wfx.wFormatTag      = (WORD) WAVE_FORMAT_PCM;
        wfx.nChannels       = (WORD) 2;
        wfx.nSamplesPerSec  = (DWORD) 22050;
        wfx.wBitsPerSample  = (WORD) 16;
        wfx.nBlockAlign     = (WORD) (wfx.wBitsPerSample / 8 * wfx.nChannels);
        wfx.nAvgBytesPerSec = (DWORD) (wfx.nSamplesPerSec * wfx.nBlockAlign);
     
    	hr = pSoundBuf->SetFormat(&wfx);
    	if (hr!=D3D_OK) { DXTRACE_ERR(TEXT("SetPrimaryBufferFormat pSoundBuf SetFormat erreur\n"),hr);}
    Est ce que quelqu'un à déjà vu ce type d'erreur ?
    Y at-il un autre framework hors des fichiers DXUT ?

    merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mars 2006
    Messages : 143
    Par défaut
    prblm résolu en transférant dans un projet vide, sans utilisation d'entêtes précompilés

    et supression de toutes les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //#include "dxstdafx.h"
    //#include "stdafx.h"
    puis incorporation des DXUT dans un dossier common

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur de compilation après modification du Uses
    Par DevelOpeR13 dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2007, 14h23
  2. Réponses: 2
    Dernier message: 23/09/2003, 14h32
  3. Réponses: 10
    Dernier message: 22/09/2003, 21h58
  4. Réponses: 4
    Dernier message: 27/08/2003, 21h34
  5. Réponses: 2
    Dernier message: 04/03/2003, 23h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo