gpt4 book ai didi

c++ - 在 Windows 上构建 maliit 框架时未定义对 `DummyInputMethod3::staticMetaObject' 的引用

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:49:09 26 4
gpt4 key购买 nike

所以我正在尝试构建 Maliit 框架 https://github.com/maliit在 Windows 机器上使用 Qt Creator。到目前为止,我已经修复了几个 Windows 兼容性问题:https://github.com/RHawkeyed/framework .但现在我得到这个错误:undefined reference to 'DummyInputMethod3::staticMetaObject' in qobject.h

从我通过google找到的类似问题的答案来看,这通常是由于未在 header 中定义qobject,忘记添加Q_OBJECT宏或moc未正常运行引起的。这似乎不是这里的情况,因为 DummyInputMethod3 在其自己的 header 中定义:

class DummyInputMethod3 : public MAbstractInputMethod
{
Q_OBJECT

...

并且 moc_dummyinputmethod3.cpp 是在我期望的路径中生成的。

头文件也按原样列在 pro 文件中:

HEADERS += \
dummyimplugin3.h \
dummyinputmethod3.h \

关于什么可能是错的有什么想法吗?


编译时出现错误:

https://github.com/RHawkeyed/framework

在 Qt Creator 3.5.0 中使用 MinGW 4.9.2 32 位和 Qt 5.5.0

qmake 文件使用了几个 linux 命令,所以我添加了 cygwin https://www.cygwin.com/到系统路径。


用msvc编译

我没有绑定(bind)特定的编译器,我只需要为 windows 编译。用msvc编译是完全可以接受的。实际上,我开始尝试使用 msvc 进行编译,但在遇到一些问题并看到建议使用 mingw 进行编译后,我改为尝试使用它。无论如何,我现在可以在 mingw 和 msvc 中编译到相同的错误:

https://github.com/RHawkeyed/framework

在 Qt Creator 3.5.0 中

Qt 5.5

MSVC2013 32 位

最佳答案

我相当确定我已经正确解决了这个特定问题。 Windows dll 需要导入/导出。它在 Linux 上自动发生。跨平台的 maliit 到此为止。

我的 maliit 键盘仍然无法正常工作。示例应用程序启动,但我无法显示键盘。无论如何,这是另一个问题,那就是我是否不完全放弃它。

我目前的进度在github上:

https://github.com/RHawkeyed/framework

https://github.com/RHawkeyed/plugins

关于c++ - 在 Windows 上构建 maliit 框架时未定义对 `DummyInputMethod3::staticMetaObject' 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32378766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com