Qt + win32 + mingw 上的原生 Windows API 链接问题

2024-05-07

我正在尝试使用 mingw 工具集将本机 Windows API 与 Qt 结合使用。部分功能存在链接问题。会发生什么?这是 mingw 名称修改的错误吗?

#ifdef Q_WS_WIN
    HWND hwnd = QWidget::winId();
    HDC hdcEMF  = CreateEnhMetaFile(NULL, NULL, NULL, NULL ) ;
    Rectangle(hdcEMF,100,100,200,200);
    HENHMETAFILE hemf = CloseEnhMetaFile(hdcEMF);
    OpenClipboard(hwnd);
    EmptyClipboard();
    SetClipboardData(CF_ENHMETAFILE,hemf);
    CloseClipboard();
#else   

错误:

对“CreateEnhMetaFileW@16”的未定义引用

对“矩形@20”的未定义引用

对“CloseEnhMetaFile@4”的未定义引用


功能CreateEnhMetaFileW() and CloseEnhMetaFile()是在静态库 Gdi32.lib 中定义的,因此您必须确保链接到它。尝试添加-lgdi32到您用来编译的命令行的末尾。如果这不起作用,您可能必须通过添加来指定 Gdi32.lib 的完整路径-L/path/to/folder/containing/the/library -lgdi32反而。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt + win32 + mingw 上的原生 Windows API 链接问题 的相关文章

随机推荐