Неразрешенные внешние факторы, отсутствует библиотека comdlg32.lib - PullRequest
0 голосов
/ 04 августа 2020

Я работаю с приложением для WindowsCE 2013, которое частично создано в WinAPI. Пока я пытался скомпилировать код, я обнаружил сообщение об ошибке «Ошибка 2, ошибка LNK2019: неразрешенный внешний символ PageSetupDlgW, указанный в функции« long cdecl WndPro c (struct HWND *, unsigned int, unsigned int, long) »(? WndProc @ @YAJPAUHWND __ @@ IIJ@Z) C: \ Users \ tykab \ OneDrive \ Dokumenty \ Visual Studio 2013 \ Projects \ WinAPI \ WinAPI \ WinAPI.obj WinAPI "

Проблема существует с функцией PageSetupDlg (), которая определено в commdlg.h Я понятия не имею, почему существует эта проблема

Я полагаю, это потому, что comdlg32.lib отсутствует. Подтвердите мои предположения и, если они верны, укажите, где я могу найти такую ​​библиотеку.

Я помещаю фрагмент кода ниже:

enter codecase WM_PAINT:
    PAGESETUPDLGW pd;
    HWND hwnd;
    ZeroMemory(&pd, sizeof(pd));
    pd.lStructSize = sizeof(pd);
    pd.hwndOwner = hwnd;
    pd.hDevMode = NULL;     // Don't forget to free or store hDevMode.
    pd.hDevNames = NULL;     // Don't forget to free or store hDevNames.
    pd.Flags = PSD_RETURNDEFAULT ;
    HDC hDC;
    hDC = CreateDC(NULL, NULL, NULL, NULL);
    if (PageSetupDlg(&pd) == TRUE)
    {
        StartDoc(hDC, NULL);
        StartPage(hDC);
        Ellipse(hDC, 500, 500, 1000, 1000);
        Ellipse(hDC, 1000, 800, 1500, 1300);
        Ellipse(hDC, 800, 1000, 1800, 2000);
        EndPage(hDC);
        EndDoc(hDC);
        DeleteDC(hDC);
    }
    break; here

1 Ответ

0 голосов
/ 04 августа 2020

Хорошо, проблема решена. Решение состоит в том, что в WindowsCE эквиваленте commdlg32.lib является commdlg.lib

.
...