c++ - 使用 Qt VS Tools 在 Visual Studio 上使用非 qtcore 库会导致 LNK2019
问题描述
我正在尝试使用来自 QtMultimedia 的 QSoundEffect。我已经包含了这样的文件:
#include <QtMultimedia/QSoundEffect>
并在我的项目中使用了 QSoundEffect。
当我尝试在此之后编译我的项目时,我收到 LNK2019 错误:
1>chatwindow.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl QSoundEffect::QSoundEffect(class QObject *)" (__imp_??0QSoundEffect@@QEAA@PEAVQObject@@@Z) referenced in function "public: __cdecl ChatWindow::ChatWindow(class QWidget *)" (??0ChatWindow@@QEAA@PEAVQWidget@@@Z)
1>chatwindow.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __cdecl QSoundEffect::~QSoundEffect(void)" (__imp_??1QSoundEffect@@UEAA@XZ) referenced in function "int `public: __cdecl ChatWindow::ChatWindow(class QWidget *)'::`1'::dtor$3" (?dtor$3@?0???0ChatWindow@@QEAA@PEAVQWidget@@@Z@4HA)
1>chatwindow.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __cdecl QSoundEffect::setSource(class QUrl const &)" (__imp_?setSource@QSoundEffect@@QEAAXAEBVQUrl@@@Z) referenced in function "public: __cdecl ChatWindow::ChatWindow(class QWidget *)" (??0ChatWindow@@QEAA@PEAVQWidget@@@Z)
1>mainwidget.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __cdecl QSoundEffect::play(void)" (__imp_?play@QSoundEffect@@QEAAXXZ) referenced in function "private: void __cdecl MainWidget::process_received_forever(void)" (?process_received_forever@MainWidget@@AEAAXXZ)
如何告诉 Visual Studio QtMultimedia 相关文件的存在?Qt 包含和库路径由 Visual Studio 中的 Qt VS Tools 扩展处理,所以我有点困惑。
解决方案
由于某些奇怪的原因,当我手动将 Qt5 的 libpath 添加到库路径并将 Qt5Multimedia.lib 手动添加到包含的库时,它起作用了。
推荐阅读
- node.js - 在各种事件下自动打开串口并记录数据
- javascript - 在 reactjs 前端使用 fetch 从 express 服务器获取 mongodb 数据
- android - Android Studio - 即使在“修复”问题后自动导入也不起作用
- c# - 试图将我的流保存在我的视图模型中
- ubuntu - wsl 2 ubuntu mariadb .my.cnf.42' 被忽略
- browser - 在插件中使用假视频我不能在赛普拉斯的测试流程中使用两个视频
- c# - 在 ASP.NET Core 中管理动态 URL
- json - jq“对象不能是tsv格式,只有数组”从json数据制作表格时出错
- excel - 使用 VBA ActiveX 命令按钮打印到另一个工作表的第一个空行
- kubernetes - 当 kubernetes cron 作业 pod 被“替换”并发策略终止时,它的关闭是什么样子的?