Não é possível usar o Qt Gráficos - QT6 | Cmake

0

Pergunta

Eu estou usando o Qt 6.2.1 com o cmake e eu não consigo encontrar uma maneira de usar o Qt Gráficos.

O Qt Gráficos é instalado em "C:\Qt\6.2.1\Src\qtcharts"

No meu cmakelists.txt eu incluí o Qt Gráficos em find_package e target_link_libraries. Parecia que o trabalho em qt5 (encontrado em outras respostas no StackOverflow), mas não funcionam em qt6. (Eu tenho escondido o projeto de fontes de arquivos)

cmake_minimum_required(VERSION 3.5)

project(projectname VERSION 0.1 LANGUAGES CXX)

set(CMAKE_INCLUDE_CURRENT_DIR ON)

set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)

set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

set(CMAKE_CXX_FLAGS_DEBUG "/MDd")

find_package(QT NAMES Qt6 COMPONENTS Widgets Charts REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Xml Widgets REQUIRED)

set(PROJECT_SOURCES
        ...
)

if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
    qt_add_executable(projectname
        MANUAL_FINALIZATION
        ${PROJECT_SOURCES}
    )
else()
    add_executable(projectname 
        ${PROJECT_SOURCES}
    )
endif()

target_link_libraries(projectname PRIVATE Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Xml Qt6::Charts)

if(QT_VERSION_MAJOR EQUAL 6)
    qt_finalize_executable(projectname)
endif()

Eu recebo este erro:

C:\Qt\6.2.1\msvc2019_64\lib\cmake\Qt6Core\Qt6CoreMacros.cmake:559: error: Target "projectname" links to target "Qt6::Charts" but the target was not found.  Perhaps a find_package() call is missing for an IMPORTED target, or an ALIAS target is missing? C:/Qt/6.2.1/msvc2019_64/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:523 (_qt_internal_create_executable) C:/Qt/6.2.1/msvc2019_64/lib/cmake/Qt6Core/Qt6CoreMacros.cmake:847 (qt6_add_executable) CMakeLists.txt:78 (qt_add_executable)
c++ cmake qt qt6
2021-11-15 15:46:01
1

Melhor resposta

0

SOLUÇÃO (Graças a @vre):

Eu tinha que selecionar o Qt Gráficos em 6.2.1 e não em Qt no instalador online

Qt Instalador Online

2021-11-16 18:54:29

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................