Play Sound nie chce działać

0

Witam. Jestem początkującym programistą w C++. Wymyśliłem sobie projekt teleturnieju i stopniowo go wykonuję. Jednak, gdy dodaję ostatnie szlify i próbuję dodać dźwięk do poziomu to wyświetla mi następujący błąd: "Undefined reference to '__imp_PlaySoundA' " oraz "error: 1d returned 1 exit status". Dodam jeszcze, że piszę w Code::Blocks, używając kompilatora MinGW. Fragment tego kodu wygląda następująco:

#include <iostream>
#include <conio.h>
#include <windows.h>
#include <mmsystem.h>

using namespace std;

char zestaw;
int main()
{
    Sleep(125);
    cout << "Witaj w moim teleturnieju zwanym: 'Miliarderzy'! " << endl;
    Sleep(125);
    cout << "Pewnie zapytasz jakie sa zasady. Juz spiesze z wyjasnieniem." << endl;
    Sleep(125);
    cout << "Przede wszystkim musisz wybrac 1 z 3 zestawow pytan." << endl;
    Sleep(125);
    cout << "Za latwy zestaw pytan mozesz wygrac 100000, za sredni 1000000, a za trudny 1000000000zl!" << endl;
    Sleep(125);
    cout << "W pewnych etapach rozgrywki bedzie sie mozna wycofac. Ja oznajmie kiedy." << endl;
    Sleep(125);
    cout << "W kazdym zestawie znajduje sie 10 pytan." << endl;
    Sleep(125);
    cout << "Jak juz bedziesz gotowy wcisnij 'ENTER'. " << endl;

    getchar();
    system("cls");

    cout << "Wybierz zestaw pytan:" << endl;
    Sleep(125);
    cout << "---------------------" << endl;
    Sleep(125);
    cout << "1. Latwy" << endl;
    Sleep(125);
    cout << "2. Sredni" << endl;
    Sleep(125);
    cout << "3. Trudny" << endl;

    zestaw = getch();

    switch(zestaw)
    {
        case '1':
            {
                system("cls");

                cout << "Wybrales latwy zestaw pytan." << endl;
                cout << "Aby uslyszec pytanie za 5 zlotych wcisnij 'ENTER'." << endl;

                getchar();
                system("cls");

                char z1p1;

                cout << "Pierwsze pytanie brzmi:" << endl;
                cout << "Jak sie nazywa pierwiastek," << endl;
                cout << "ktorego symbol chemiczny to 'H'?" << endl;
                Sleep(500);
                cout << "a) Woda" << endl;
                Sleep(500);
                cout << "b) Tlen" << endl;
                Sleep(500);
                cout << "c) Wodor" << endl;
                Sleep(500);
                cout << "d) Sellen" << endl;

                z1p1 = getch();
                cout << "\a";
                Sleep(1000);
                    if(z1p1 == 'c')
                {
                    system("cls");
                    Sleep(300);
                    PlaySound(TEXT("PoprawnaOdpowiedz.wav"), NULL, SND_FILENAME | SND_ASYNC);

Czy ktoś wie co może być tego przyczyną? Z góry dziękuję.

1

W internetach piszą żeby dać ścieżkę bezwzględną. Próbowałeś?

0

@szweszwe: A możesz napisać co to jest? Ja dopiero zaczynam

1

Ścieżka do twojego pliku w takim formacie jak tutaj gościu podał: https://stackoverflow.com/a/1565518/5606222

0

Próbowałem

2

No to jeszcze musisz dodać do linkera coś takiego jak: winmm.lib library.

0

Jak dodałem tą bibliotekę do linkera wyświetla mi, że nie może znaleźć tej biblioteki.

2

Zacytuj błąd, nie opowiadaj go własnymi słowami. I pokaż jak dodajesz do linkera.

0

Błędy to: "cannot find -lwinmm.lib" oraz znowu "error: 1d returned 1 exit status". Do linkera dodaję wchodząc w ustawienia linkera i wpisując nazwę biblioteki. Warto dodać, że po przeszukaniu komputera nie mogę znaleźć tej biblioteki.

2

-lwinmm, bez .lib

0

Dzięki wielkie. Wszystko już działa!

1 użytkowników online, w tym zalogowanych: 0, gości: 1