Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PlaySound не найден в библиотеке 
V
    Опции темы
Hagrael
Дата 11.8.2011, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 26.6.2011

Репутация: нет
Всего: нет



Здравствуйте, программисты. Появилась проблемка - линкер выдает ошибку о том, что ссылка PlaySoundA@12 не действительна. Как это можно вылечить?

Вот код:
Код

#include <windows.h>

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow ) {

    static char szAppName[] = "HelloWin";
    HWND        hwnd;
    MSG            msg;
    WNDCLASSEX    wndclass;

    wndclass.cbSize        = sizeof (wndclass);
    wndclass.style            = CS_HREDRAW | CS_VREDRAW;
    wndclass.lpfnWndProc    = WndProc;
    wndclass.cbClsExtra        = 0;
    wndclass.cbWndExtra        = 0;
    wndclass.hInstance        = hInstance;
    wndclass.hIcon            = LoadIcon (NULL, IDI_APPLICATION);
    wndclass.hCursor        = LoadCursor (NULL, IDC_ARROW);
    wndclass.hbrBackground    = (HBRUSH) GetStockObject (WHITE_BRUSH);
    wndclass.lpszMenuName    = NULL;
    wndclass.lpszClassName    = szAppName;
    wndclass.hIconSm        = LoadIcon (NULL, IDI_APPLICATION);

    RegisterClassEx (&wndclass);

    hwnd = CreateWindow (
                    szAppName,                // window class name
                    "The hello program",    // window caption
                    WS_OVERLAPPEDWINDOW,    // window style
                    CW_USEDEFAULT,            // x position
                    CW_USEDEFAULT,            // y position
                    CW_USEDEFAULT,            // x size
                    CW_USEDEFAULT,            // y size
                    NULL,                    // parent window handle
                    NULL,                    // window menu handle
                    hInstance,                // program instance handle
                    NULL
    );

    ShowWindow (hwnd, iCmdShow);
    UpdateWindow (hwnd);

    while (GetMessage(&msg, NULL, 0, 0)) {

        TranslateMessage (&msg);
        DispatchMessage (&msg);

    }

    return msg.wParam;

}

LRESULT CALLBACK WndProc (HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam) {

    HDC        hdc;
    PAINTSTRUCT ps;
    RECT        rect;

    switch (iMsg) {

        case WM_CREATE:
            PlaySound ("hellowin.wav", NULL, SND_FILENAME | SND_ASYNC);
            return 0;

        case WM_PAINT:
            hdc = BeginPaint (hwnd, &ps);

            GetClientRect (hwnd, &rect);

            DrawText (hdc, "Hello, Windows XP!", -1, &rect, DT_SINGLELINE | DT_CENTER | DT_VCENTER);

            EndPaint (hwnd, &ps);
            return 0;

        case WM_DESTROY:
            PostQuitMessage (0);
            return 0;

    }

    return DefWindowProc (hwnd, iMsg, wParam, lParam);

}



Заранее благодарен.

Это сообщение отредактировал(а) Hagrael - 11.8.2011, 15:20
PM MAIL   Вверх
Albor
Дата 11.8.2011, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 589
Регистрация: 28.2.2009

Репутация: 2
Всего: 9



Смотрим здесь, в конце статьи, что нужно для вызова данной функции.
PM MAIL ICQ   Вверх
Hagrael
Дата 11.8.2011, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 26.6.2011

Репутация: нет
Всего: нет



А ЛИБа и DLL должны быть в какой-то папке при компиляции или у пользователя в какой-то windows-овской папке?
PM MAIL   Вверх
Albor
Дата 11.8.2011, 17:33 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 589
Регистрация: 28.2.2009

Репутация: 2
Всего: 9



В опциях линкера (Add Module to Assembly) нужно прописать winmm.lib , ну и подключить нужный хеадер
PM MAIL ICQ   Вверх
Hagrael
Дата 12.8.2011, 07:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 26.6.2011

Репутация: нет
Всего: нет



Большое спасибо, помогло.
PM MAIL   Вверх
bsa
Дата 12.8.2011, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196




M
bsa
Hagrael, если ответ на вопрос получен, то пометь тему решенной

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1182 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.