首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt的CMake版本分支

Qt的CMake版本分支
EN

Stack Overflow用户
提问于 2015-03-24 13:46:36
回答 2查看 171关注 0票数 1

我的应用程序需要svg支持,svg被移动到一个外部模块,必须进行明确的链接。这发生在Qt 5.1中。如何调整我的CMakeLists.txt以区分次要的 Qt值?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-24 21:18:12

这个示例CMakeLists.txt应该是一个良好的开端。

代码语言:javascript
复制
cmake_minimum_required(VERSION 2.8.11)

project(testproject)

# Make sure that CMake can find your Qt installations.
list(APPEND CMAKE_PREFIX_PATH "/path/to/qt5.1")
list(APPEND CMAKE_PREFIX_PATH "/path/to/qt5.2")
list(APPEND CMAKE_PREFIX_PATH "/path/to/qt5.3")
list(APPEND CMAKE_PREFIX_PATH "/path/to/qt5.4")
# ...

# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Instruct CMake to run moc automatically when needed.
set(CMAKE_AUTOMOC ON)

# You version switch.
set(MY_QT_VERSION 5.1)

# Find the QtWidgets library
find_package(Qt5Widgets ${MY_QT_VERSION} EXACT REQUIRED)
find_package(Qt5Svg ${MY_QT_VERSION} EXACT REQUIRED)

# Tell CMake to create the helloworld executable
add_executable(helloworld main.cpp)

# Use the Widgets module from Qt 5.
target_link_libraries(helloworld Qt5::Widgets Qt5::Svg)

更多细节可以在qt.io这里上找到。

票数 1
EN

Stack Overflow用户

发布于 2016-03-25 22:48:47

您可以使用qmake查询Qt版本,并确保它与您指定的最小值匹配。

代码语言:javascript
复制
set(QT_MINIMUM_VERSION 5.1.0)

set(QTDIR $ENV{QTDIR} CACHE STRING "Qt install path")
list(APPEND CMAKE_PREFIX_PATH ${QTDIR})

# Test for supported Qt version
find_program(QMAKE NAMES qmake HINTS ${QTDIR} PATH_SUFFIXES bin)
execute_process(COMMAND ${QMAKE} -query QT_VERSION OUTPUT_VARIABLE QT_VERSION)
if(QT_VERSION LESS QT_MINIMUM_VERSION)
    MESSAGE(FATAL_ERROR "Minimum supported Qt version: ${QT_MINIMUM_VERSION}. 
    Installed version: ${QT_VERSION}")
endif()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29234328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档