无法解析的外部文件,缺少 comdlg32.lib 库

Unresolved externals, Missing comdlg32.lib library

提问人:Bartłomiej Tyka 提问时间:8/4/2020 更新时间:8/4/2020 访问量:200

问:

我正在使用WindowsCE 2013的应用程序,该应用程序部分是在WinAPI中创建的。当我尝试编译代码时,我遇到了一条错误消息“错误 2 错误LNK2019:函数”long cdecl WndProc(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”

commdlg.h 中定义的函数 PageSetupDlg() 存在问题 我不知道为什么存在这个问题

我想这是因为缺少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
C++ visual-studio-2013 链接器错误 windows-ce 未解决外部

评论

0赞 Richard Critten 8/4/2020
IIRC Windows CE 没有 和变体(已经有一段时间了),只是 - 所以会先查看构建配置(确保我重新命名函数是正确的)functionAfunctionWfunction
0赞 Dimple Patel 8/4/2020
您是否在 .cpp 或 .hpp 文件中包含了 commdlg.h 和 Windows.h?
0赞 Bartłomiej Tyka 8/4/2020
@DimplePatel 当然可以
0赞 Bartłomiej Tyka 8/4/2020
@RichardCritten 在 commdlg.h 中,将以下片段编写为预处理器代码: #ifdef UNICODE #define PageSetupDlg PageSetupDlgW #else #define PageSetupDlg PageSetupDlgA #endif // !统一码

答:

0赞 Bartłomiej Tyka 8/4/2020 #1

好的,问题解决了。 解决方案是,在 WindowsCE 中,commdlg32.lib 的等效项是 commdlg.lib