Консультация № 145261
28.09.2008, 03:36
0.00 руб.
0 1 1
Имею код:
Код:
 
#include <mmsystem.h>
void CxxDlg::OnBnClickedButton1()
{
MCI_OPEN_PARMS OpenParm;
OpenParm.dwCallback = 0;
OpenParm.lpstrDeviceType = TEXT("CDAudio");
TCHAR szDrive[] = TEXT("G:");
OpenParm.lpstrElementName = szDrive;

if (!mciSendCommand(0, MCI_OPEN, MCI_OPEN_TYPE|MCI_OPEN_ELEMENT, (DWORD_PTR) (LPMCI_OPEN_PARMS)&OpenParm))
{
if (TRUE)
mciSendCommand(OpenParm.wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, 0);
else
mciSendCommand(OpenParm.wDeviceID, MCI_SET, MCI_SET_DOOR_CLOSED, 0);
mciSendCommand(OpenParm.wDeviceID, MCI_CLOSE, MCI_OPEN_TYPE|MCI_OPEN_ELEMENT, (DWORD_PTR) (LPMCI_OPEN_PARMS)&OpenParm);
}
// TODO: Add your control notification handler code here
}

и сообщение при попытке билда:
error LNK2019: unresolved external symbol __imp__mciSendCommandW@16 referenced in function "public: void __thiscall CxxDlg::OnBnClickedButton1(void)" (?OnBnClickedButton1@CxxDlg@@QAEXXZ)

ЧТО Я НЕ ТАК СДЕЛАЛ???

Приложение:
VC++2008

Обсуждение

Неизвестный
28.09.2008, 03:44
общий
это ответ
Здравствуйте, effort!

Вы подключили только объявление функции mciSendCommand, этого хватает для компиляции, но на этапе сборки уже нужен сам код функции, а вот его то вы и не включили в свой проект.
Реализация mciSendCommand располается в Winmm.lib
соответственно вам нужно или в настройках проекта указать прилинковывать этот lib файл или можно в своем коде написать:
#pragma comment(lib, "Winmm.lib")
Форма ответа