我知道在 CMake 中我可以找到并需要我需要的 Qt5 库,代码如下:
find_package(Qt5 5.12.0 REQUIRED
COMPONENTS Gui Qml QuickControls2 Svg
)
但我怎么知道我可以在后面列出的确切名字COMPONENTS
?
组件名称由包(此处:Qt5)解释,而不是 CMake 本身(see https://stackoverflow.com/a/54704725)。所以他们的命名方案是特定于包的。以 Qt5 为例,${QT5_DIR}/lib/cmake/Qt5/Qt5Config.cmake
显示省略时它们的名称与 CMake 模块名称相同Qt5
prefix:
foreach(module ${Qt5_FIND_COMPONENTS})
find_package(Qt5${module} ... )
...
endforeach()
因此,要列出所有组件名称,只需列出 CMake 模块(源自相应的模块)ModuleNameConfig.cmake
文件名)并省略Qt5
字首。在 Linux 下,这可以完成工作并将输出排序为列:
find /path/to/your/qt5/ -name "*Config.cmake" |
sed 's/^.*\/Qt5//; s/Config.cmake$//; /^\s*$/d' |
sort | pr -t -3
从 Qt 5.12 开始,列出了COMPONENT
名称如下:
3DAnimation Help QuickWidgets
3DCore LinguistTools RemoteObjects
3DExtras Location RepParser
3DInput Multimedia Scxml
3DLogic MultimediaWidgets Sensors
3DQuick Network SerialPort
3DQuickAnimation Nfc Sql
3DQuickExtras OpenGL Svg
3DQuickInput OpenGLExtensions Test
3DQuickRender Positioning TextToSpeech
3DQuickScene2D PositioningQuick UiPlugin
3DRender PrintSupport UiTools
AndroidExtras Qml WebChannel
Bluetooth Quick WebSockets
Concurrent QuickCompiler WebView
Core QuickControls2 Widgets
Gamepad QuickTemplates2 Xml
Gui QuickTest XmlPatterns
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)