Qt5 Cmake can';我想不出来

Qt5 Cmake can';我想不出来,qt,cmake,qt5,Qt,Cmake,Qt5,我真的对Qt5和Cmake感到困惑。我让所有的东西都工作了,但是我清理了我的构建目录,然后突然所有的东西都停止了工作。我有以下的CMakeLists cmake_minimum_required(VERSION 2.8.8) add_definitions(-DVERSION="0.0.0.1") project(pocket) set(SOURCE gui/LoginDialog.cpp main.cpp ) set(HEADERS gui/LoginDialo

我真的对Qt5和Cmake感到困惑。我让所有的东西都工作了,但是我清理了我的构建目录,然后突然所有的东西都停止了工作。我有以下的CMakeLists

cmake_minimum_required(VERSION 2.8.8)

add_definitions(-DVERSION="0.0.0.1")

project(pocket)

set(SOURCE
    gui/LoginDialog.cpp
    main.cpp
)

set(HEADERS
    gui/LoginDialog.h
)

set(FORMS
    gui/LoginDialog.ui
)

set(RESOURCES
    resources/images.qrc
)

find_package(Qt5Widgets)

qt5_wrap_cpp(HEADERS_MOC ${HEADERS})
qt5_wrap_ui(FORMS_HEADERS ${FORMS})
qt5_add_resources(RESOURCES_RCC ${RESOURCES})

include_directories(${CMAKE_CURRENT_BINARY_DIR})

add_executable(Test ${SOURCE} ${HEADERS_MOC} ${FORMS_HEADERS} ${RESOURCES_RCC})
qt5_use_modules(Test Widgets)
我的问题是,它没有进行
*.ui->ui.*.h
转换,因此包含我表单ui的.cpp文件编译失败(
ui.*.h
没有这样的文件或目录`)

你知道我错过了什么吗?

你错过了一个。我可以用这个写一个小案例:

find_package(Qt5Widgets)

qt5_wrap_ui(uis somefile.ui)
add_executable(Test ${uis} foo.cpp)

我最终解决了这个问题,删除了我的构建,关闭了Qt Creator,然后从一开始就重做了我的CMakeLists.txt,并添加了
set(CMAKE\u INCLUDE\u CURRENT\u DIR ON)
。这一定是缓存的CMake的问题。在发布问题之前,最好始终这样做,并创建一个sscce,在发布问题之前没有人可以回答,除非您这样做。