在库中使用Qt5

时间:2013-05-06 11:49:11

标签: c++ cmake shared-libraries qt5

我有一个集成了一些GTK功能的库,我决定切换到Qt。 所以我创建了一个测试cmake文件来尝试集成Qt5,但它不起作用,因为当我使用可执行文件动态加载libary时,我得到“未定义的符号”。

undefined symbol: _ZN8UIWindow16staticMetaObjectE

我搜索了很多内容,似乎没有那么简单的任何帮助,或者评论会非常感激。

Here是我使用的相关文件。

2 个答案:

答案 0 :(得分:2)

好的,我找到了解决方案。由于我对标题和源文件使用不同的文件夹,因此我必须手动指定包含qt代码的文件的位置。

QT5_WRAP_CPP( MOCS_HDRS ${INCLUDE_DIR}/UIWindow.h )

答案 1 :(得分:1)

该错误表示未生成或构建UIWindow类的MOC文件。 Qt期望由MOC(MetaObject Compiler,IIRC)生成的类的某些元信息 你的CMake脚本打开了automoc,这通常有效,所以我建议你看一下CMake的输出,看看它是否正在为你的课程运行该步骤。