【发布时间】:2020-03-11 05:00:31
【问题描述】:
我在 CMake(3.10 版)中定义了以下宏:
macro(configureQt4 requiredVersion selectedPackages)
message(STATUS "selectedPackages: ${selectedPackages}")
find_package(Qt4 ${requiredVersion} COMPONENTS ${selectedPackages} REQUIRED )
endmacro()
现在,当我尝试通过以下方式调用宏时,出现错误:
set(SelectedQt4Packages "QtCore QtNetwork")
configureQt4( 4.8 ${SelectedQt4Packages})
报错是:
CMake Error at /usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find Qt4 (missing: QT_QTCORE QTNETWORK_INCLUDE_DIR QT_QTCORE
QTNETWORK_LIBRARY) (found suitable version "4.8.7", minimum required is
"4.8")
如果我在宏内部按以下方式调用find_package(),它可以工作!
find_package(Qt4 ${requiredVersion} COMPONENTS QtCore QtNetwork REQUIRED )
但我需要通过设置变量来使用它,如前所述。我该如何解决这个问题?
【问题讨论】:
标签: cmake qt4 cmake-language