2016-05-21 12 views
1

ich eine CMakeLists.txt-Datei, die wie folgt aussieht:CMake nicht QWidgets finden

# CMakeLists.txt 
project(myApp) 

# Set minimum version of CMake 
cmake_minimum_required(VERSION 3.5) 

# Instruct CMake to run moc automatically when needed. 
set(CMAKE_AUTOMOC ON) 
set(CMAKE_INCLUDE_CURRENT_DIR ON) 

# Find Qt5Core and Qt5Widgets 
find_package(Qt5Core REQUIRED) 
find_package(Qt5Widgets REQUIRED) 

# For finding Qt includes 
include_directories(${CMAKE_CURRENT_SOURCE_DIR}) 
include_directories(${Qt5Widgets_INCLUDE_DIRS}) 
include_directories(${Qt5Core_INCLUDE_DIRS}) 

# Collect source files 
set(SOURCE 
    main.cpp 
    mainwindow.cpp 
) 

# Collect header files 
set(HEADERS 
    mainwindow.h 
) 

# Create executable 
add_executable(prog ${SOURCE}) 

# Linking Editor with Qt libraries 
target_link_libraries(prog Qt5::Core Qt5::Widgets) 

Wenn ich Cmake laufen und dann machen die folgende Fehlermeldung angezeigt wird;

Scanning dependencies of target Prog 
[ 40%] Building CXX object CMakeFiles/Prog.dir/main.cpp.o 
In file included from /path/main.cpp:7:0: 
/path/mainwindow.h:7:20: fatal error: QWidgets: No such file or directory 
compilation terminated. 

Wo mache ich falsch mit der CMake-Datei?

mainwindow.h sieht wie folgt aus:

#ifndef MAINWINDOW_H 
#define MAINWINDOW_H 
/* 
* mainwindow.h 
*/ 
#include <QMainWindow> 
#include <QWidgets> 


class MainWindow : public QMainWindow 
{ 
    Q_OBJECT 

public: 
    MainWindow(QWidgets *parent = 0); 
    ~MainWindow(); 

}; 

#endif 
+0

Ihre 'mainwindow.h' zeigen sollte. Es scheint, als ob du etwas wie # #include 'drin hast, was nicht richtig erscheint. –

+0

Es sollte '#include ' sein. – Tsyvarev

+0

@DanielKamilKozar: Ja, das ist, was ich in mainwindow.h habe. Was stimmt damit nicht? – Amani

Antwort

2

Es

#include <QWidget> 

class MainWindow : public QMainWindow 
{ 

...