weolar / miniblink49

a lighter, faster browser kernel of blink to integrate HTML UI in your app. 一个小巧、轻量的浏览器内核,用来取代wke和libcef
Apache License 2.0
7.06k stars 1.05k forks source link

qt下无法编译成功 #574

Closed linshu77 closed 1 year ago

linshu77 commented 1 year ago

我的qt是5.15.2版,使用的是MSVC 32位版 下载的是最新的miniblink-20230412 最简单,引入wke.h,再初始化一下

#include "mainwindow.h"
#include <QApplication>
#include <wke.h>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    wkeInitialize();
    int result = a.exec();
    wkeFinalize();
    return result;
}

但编译无法通过,显示: main.obj:-1: error: LNK2019: 无法解析的外部符号 __imp_MessageBoxA,函数 "int __cdecl wkeInitializeEx(struct _wkeSettings const *)" (?wkeInitializeEx@@YAHPEBU_wkeSettings@@@Z) 中引用了该符号 请问,这个改怎么解决,pro文件里要加什么说明吗?

linshu77 commented 1 year ago

我使用的是QMAKE+MSVC 32位无法编译 QMAKE+MinGW 32位可以编译,但很多警告 CMAKE+MSVC 32位可以顺利编译

weolar commented 1 year ago

MessageBoxA是个windows api,这种事情你百度下怎么解决吧

linshu77 commented 1 year ago

谢谢大神,因为是比较菜,但后来看了qmb在pro加了 LIBS+=-luser32 -lgdi32 -lImm32 虽然不知什么意思,但加上后就编译通过了, 谢谢

weolar commented 1 year ago

这个的意思就是链接user32.lib、gdi32.lib, lmm32.lib。这三个是很常用的windows api的lib,一般都要带上