2014-02-16 133 views
1

我真的很困惑與Qt5和Cmake。我有一切工作,但後來我清理我的建立目錄,然後突然一切停止工作。我有以下CMakeListsQt5 Cmake無法解決它

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轉換,所以後來我的.cpp文件,其中包括我的表單UI的失敗,(ui_*.h沒有這樣的文件或directory`)

編譯

任何想法我失蹤?

回答

3

您錯過了sscce。我可以寫一個簡單的情況與此的作品:

find_package(Qt5Widgets) 

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

我結束了刪除我的身材,關閉Qt Creator中,然後從一開始重做我的CMakeLists.txt並加入了'set(CMAKE_INCLUDE_CURRENT_DIR ON)解決吧' 。這肯定是一個緩存CMake的問題。 – Steven

+1

在發佈問題之前,始終這樣做並創建sscce是個不錯的主意,除非您這樣做,否則無人可以回答。 – steveire