简体   繁体   中英

CMake cannot find QXmlSimpleReader

I have a C++ header file which has the following lines:

#include <QXmlSimpleReader>
#include <QXmlDefaultHandler>

and my cmake has the following lines:

find_package(Qt5Core REQUIRED)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5Xml REQUIRED)

When running CMake I get the following error message:

QXmlSimpleReader: No such file or directory
 #include <QXmlSimpleReader>

What am I doing wrong?

I guess you forgot to link against Qt5xml. A working example from the documentation for cmake 2.8.11 and later, modified to link against Qt5Xml:

cmake_minimum_required(VERSION 2.8.11)

project(testproject)

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

# Find the QtWidgets library
find_package(Qt5Xml)

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

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

For some reason it do not adds to project include dirs.

Add this one to your cmake

INCLUDE_DIRECTORIES( ${Qt5Xml_INCLUDE_DIRS} )

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM