KikoPlayProject / KikoPlay

KikoPlay - NOT ONLY A Full-Featured Danmu Player 不仅仅是全功能弹幕播放器
https://kikoplay.fun
GNU General Public License v3.0
1.57k stars 96 forks source link

macos 下编译报错 #167

Closed reveever closed 1 month ago

reveever commented 1 month ago

QMake version 3.1 Using Qt version 5.15.13 in /usr/local/Cellar/qt@5/5.15.13_1/lib

1.0.2 版本 执行 qmakemake 报错如下:

In file included from Extension/App/AppWidgets/appcombo.cpp:1:
In file included from Extension/App/AppWidgets/appcombo.h:4:
Extension/App/AppWidgets/appwidget.h:59:47: warning: unused parameter 'child' [-Wunused-parameter]
    virtual void updateChildLayout(AppWidget *child, const QHash<AppWidgetLayoutDependOption, QVariant> &params) {}
                                              ^
Extension/App/AppWidgets/appwidget.h:59:106: warning: unused parameter 'params' [-Wunused-parameter]
    virtual void updateChildLayout(AppWidget *child, const QHash<AppWidgetLayoutDependOption, QVariant> &params) {}
                                                                                                         ^
Extension/App/AppWidgets/appcombo.cpp:12:54: warning: unused parameter 'app' [-Wunused-parameter]
AppWidget *AppCombo::create(AppWidget *parent, KApp *app)
                                                     ^
Extension/App/AppWidgets/appcombo.cpp:240:31: error: no matching function for call to 'fromValue'
                map["data"] = QVariant::fromValue<Extension::LuaItemRef>({ref, appCombo->dataRef});
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/Cellar/qt@5/5.15.13_1/lib/QtCore.framework/Headers/qvariant.h:370:28: note: candidate function template not viable: cannot convert initializer list argument to 'const Extension::LuaItemRef'
    static inline QVariant fromValue(const T &value)
                           ^
3 warnings and 1 error generated.
make[1]: *** [release/appcombo.o] Error 1
make: *** [release] Error 2

不熟悉c++与qt,能否看看是什么出了问题

Protostars commented 1 month ago

之前也有人在mac上编译出过这个错误,解决办法是给LuaItemRef加构造函数:

struct LuaItemRef
{
    int ref = -1;
    int tableRef = -1;
    LuaItemRef() {}
    LuaItemRef(int r, int t) : ref(r), tableRef(t) {}
};
reveever commented 1 month ago

可以编译通过,生成 app,但并不太能用,打开视频后程序无响应,以及其他各种问题... 不折腾了...

截屏2024-06-01 19 54 14