该 Qt 5 CMake手册 声明说 qt5_use_modules 不推荐使用宏:
这个宏已经过时了。请将target_link_libraries与IMPORTED目标一起使用。
......但是 qt5_use_modules 不只是简单地指定链接库:它指定包含目录,必要的编译标志等(请参阅上面链接文档中的完整描述)。
那么,假设那个变量 QTMODULES 包含一些应该用于项目的Qt模块列表,替换以下“已弃用”的CMake线的“推荐”方法是什么?
qt5_use_modules(${myProjectName} ${QTMODULES})
以下不起作用,主要是因为它不添加任何Qt包含路径:
target_link_libraries(${myProjectName} IMPORTED ${QTMODULES})
是吗? QTMODULES 变量需要手动迭代,以便 include_directories 可以为每个单独的模块名称调用吗?这似乎是向后退一步 qt5_use_modules,这很简单,“只是有效”。我错过了什么吗?