qt - 使用 CMake 包含 QtMultimedia(或 QSound 所需的任何内容)模块

标签 qt cmake

我的问题可能归结为“模块叫什么”。

我想在 Qt 5.4 中使用 QSound 类,显然 “Qt5Multimedia”模块没有与 QtGui 一起引入, QtCore调用时

find_package(Qt5Widgets REQUIRED)

所以我浏览我的 Qt 5.4 安装(在 Debian 本地),实际上找到了一个目录

~/sw/Qt/Qt_5_4/5.4/gcc_64/lib/cmake/Qt5Multimedia

但是,天真地添加

find_package(Qt5Multimedia REQUIRED)

我的CMakeLists.txt失败,并出现“文件未找到错误”的释义。:

By not providing "FindQt5Multimedia.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"Qt5Multimedia", but CMake did not find one.

因此,在上述目录中,我询问ls -1,实际上得到的比我想要的更多:

Qt5Multimedia_CameraBinServicePlugin.cmake
Qt5MultimediaConfig.cmake
Qt5MultimediaConfigVersion.cmake
Qt5Multimedia_QAlsaPlugin.cmake
Qt5Multimedia_QGstreamerAudioDecoderServicePlugin.cmake
Qt5Multimedia_QGstreamerCaptureServicePlugin.cmake
Qt5Multimedia_QGstreamerPlayerServicePlugin.cmake
Qt5Multimedia_QM3uPlaylistPlugin.cmake
Qt5Multimedia_QPulseAudioPlugin.cmake

你们中的任何人都可以告诉我,如果有的话,应该采取哪一项,才能成为 能够使用QSound类来播放一些.wav文件吗?

最佳答案

将我的评论转换为这个答案以结束这个问题:

CMake 需要知道 Qt5 特定文件的位置。 因此,您应该将 ~/sw/Qt/Qt_5_4/5.4/gcc_64/ 添加到环境变量 $CMAKE_PREFIX_PATH 或使用

设置它
set(CMAKE_PREFIX_PATH "~/sw/Qt/Qt_5_4/5.4/gcc_64/") 

然后 CMake 将能够执行 find_package(Qt5Multimedia)

关于qt - 使用 CMake 包含 QtMultimedia(或 QSound 所需的任何内容)模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30391386/

相关文章:

c++ - QtCreator Build/Clean 究竟是做什么的?

linux - cmake:如何在外部项目中正确设置变量以先于 make?

c++ - QT通过单击菜单栏c++移动整个窗口/应用程序

c++ - 如何在 Qt 中用图像填充 Rectangle(Rect 对象)?

c++ - Qt Creator 中的运行按钮被禁用

c++ - 如何确保 cmake 代码将在子目录之后运行

cmake - 如何在 CMake 中使用 libxml2?

flutter - Android Studio 模拟器无法在 macOS 上运行,因为 "no Qt platform plugin could be initialized"

c++ - 在 Qt 5 中连接重载的信号和插槽

c++ - LINK1104 的 Opencv 构建错误