无法解析的外部符号:qt_metacall metaObject(void) const qt_metacast
原因这是因为在此程序中使用了Q_OBJECT宏,这个宏是Qt对C++的扩展。需要要先使用Qt提供的moc程序生成moc文件,然后再用C++编译器编译此文件,才能正常链接
解决方法一:在Visual Studio中对头文件使用自定义的生成命令
属性 | 内容 | 必须 |
---|---|---|
命令行 | C:\Qt\5.15.2\msvc2019_64\bin\moc.exe “%(FullPath)” -o “moc_%(Filename).cpp” | Y |
说明 | optional | N |
输出 | moc_%(Filename).cpp | Y |
向项类型添加输出 | C/C++ 编译器 | Y |
编译后会自动生成相关的moc_xxx.cpp文件。
解决方法二:使用moc.exe 命令行的方式手动转换
C:\Qt\5.15.2\msvc2019_64\bin>moc.exe "xxx.h" -o "moc_xxx.cpp"
但是这一步操作没有成功。如果需要转换的文件大, 可以写成脚本,批量的转换。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
当前标题:QtVisualStudio生成moc文件-创新互联
文章网址:https://www.cdcxhl.com/article0/dpejoo.html
成都网站建设公司_创新互联,为您提供企业建站、服务器托管、定制开发、品牌网站建设、响应式网站、面包屑导航
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联