我有一个VMSCore库,它具有VMSObject :: public QObject。 我实现了从VMSObject类继承的工厂类。 构建库后,我尝试将其链接到我的exe项目。 我收到链接错误:
严重性代码描述项目文件行抑制状态 错误LNK2019无法解析的外部符号“ public:虚拟int __cdecl VMS :: Factory :: qt_metacall(枚举QMetaObject :: Call,int,void * *)“ (?qt_metacall @ Factory @ VMS @@ UEAAHW4Call @ QMetaObject @@ HPEAPEAX @ Z) 在函数“公共:虚拟int __cdecl中引用” VMS :: Algorithm :: Factory :: qt_metacall(枚举QMetaObject :: Call,int,void * *)“(?qt_metacall @ Factory @ Algorithm @ VMS @@ UEAAHW4Call @ QMetaObject @@ HPEAPEAX @ Z)CVFnVMS实验C:\ Users \ Matvey \ cvfn \ build \ Products \ CVFnVMS \ mocs_compilation.obj 1
据我了解的错误,我没有链接moc文件中定义的函数。 在CMake中链接由Moc创建的文件的正确方法是什么?
答案 0 :(得分:1)
已解决。 我必须在我的cmake文件中“设置(CMAKE_AUTOMOC ON)”为库。