我不明白 我在qt5 cmake指南之后做了一个小例子。 这是一个最小的例子。qt5 cmake no automoc
cmake_minimum_required(VERSION 2.8.11)
project(basic_qt_gui)
set(CMAKE_PREFIX_PATH "/opt/qt5_5_0/5.5/gcc_64")
# 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(Qt5Widgets)
find_package(Qt5Core)
find_package(Qt5Gui)
set(BASIC_QT_GUI_HEADERS mainwindow.h)
set(BASIC_QT_GUI_SOURCES main.cpp
mainwindow.cpp)
# Tell CMake to create the helloworld executable
add_executable(basic_qt_gui ${BASIC_QT_GUI_HEADERS} ${BASIC_QT_GUI_SOURCES})
# Use the Widgets module from Qt 5.
target_link_libraries(basic_qt_gui Qt5::Widgets)
化妆后,我总是得到这个错误
[ 25%] Automoc for target basic_qt_gui
Generating moc_mainwindow.cpp
[ 25%] Built target basic_qt_gui_automoc
Scanning dependencies of target basic_qt_gui
[ 50%] Building CXX object CMakeFiles/basic_qt_gui.dir/main.cpp.o
[ 75%] Building CXX object CMakeFiles/basic_qt_gui.dir/mainwindow.cpp.o
/home/gatherer/Dokumente/gitHubProjekte/basic_qt_gui/mainwindow.cpp:2:27: fatal error: ui_mainwindow.h: No such file or directory
#include "ui_mainwindow.h"
^
compilation terminated.
make[2]: *** [CMakeFiles/basic_qt_gui.dir/mainwindow.cpp.o] Error 1
make[1]: *** [CMakeFiles/basic_qt_gui.dir/all] Error 2
make: *** [all] Error 2
我看了看周围很多,但我找不到一个错误。 我用CMake的2.8.12和qt5.5.0
编辑:解..安装cmake的3.2.2,并添加
set(CMAKE_AUTOUIC ON)
这解决了问题。 2.8.12是一个真正有线的版本
是ui_mainwindow.h和mainwindow.h。这是汽车欺骗还是错误? – usr1234567
它是正确的,它应该工作的方式... – gatherer
我使用的指南...没有什么难以理解的http://doc.qt.io/qt-5/cmake-manual.html ..所以它更多有线 – gatherer