C++/编译程序致命错误:QtGui/qwidget.h:没有这样的文件或目录
C++ / compilation of a program fatal error: QtGui/qwidget.h: No such file or directory
我下载了一个需要qt4的linux应用程序。我的电脑上已经有了它。
当我想在终端中使用 make 编译程序时,我遇到了以下错误。
[ 6%] Building CXX object CMakeFiles/util_convert.dir/moc_planeviewer.cxx.o
In file included from /usr/include/qt4/QtGui/QMainWindow:1:0,
from /home/Desktop/plane/src/planeviewer.h:3,
from /home/Desktop/plane/src/moc_planeviewer.cxx:9:
/usr/include/qt4/QtGui/qmainwindow.h:45:27: fatal error: QtGui/qwidget.h: No such file or directory
#include <QtGui/qwidget.h>
^
compilation terminated.
make[2]: *** [CMakeFiles/util_convert.dir/moc_planviewer.cxx.o] Error 1
make[1]: *** [CMakeFiles/util_convert.dir/all] Error 2
make: *** [all] Error 2
我不明白,因为我已经检查了所有内容。我对这些不同的命令行有以下输入:
qmake --version
QMake version 2.01a
Using Qt version 4.8.6 in /usr/lib/x86_64-linux-gnu
找到 qwidget.h
/opt/qt/5.4/android_armv7/include/QtWidgets/qwidget.h
/opt/qt/5.4/gcc_64/include/QtWidgets/qwidget.h
/usr/include/qt4/Qt/qwidget.h
/usr/include/qt4/QtGui/qwidget.h
所以文件已经存在。
箱内清单
find_package(Boost 1.58 REQUIRED COMPONENTS serialization program_options python)
find_package(PythonLibs 2.6 REQUIRED)
set(QT_USE_QTSVG TRUE)
set(QT_USE_QTXML TRUE)
set(QT_USE_QTOPENGL TRUE)
find_package(OpenGL)
find_package( Qt4 REQUIRED )
INCLUDE_DIRECTORIES("${Boost_INCLUDE_DIRS}")
INCLUDE_DIRECTORIES("${PYTHON_INCLUDE_PATH}")
INCLUDE_DIRECTORIES(${QT_QTCORE_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR} ${QT_QTSVG_INCLUDE_DIR}
${QT_QTXML_INCLUDE_DIR} ${QT_QTOPENGL_INCLUDE_DIR} ${OPENGL_INCLUDE_DIRS})
QT4_WRAP_UI(util_convert_FORMS planeviewer.ui)
QT4_WRAP_CPP(util_convert_MOCS planeviewer.h planewidget.h)
ADD_EXECUTABLE(util_convert ${util_convert_FORMS} ${util_convert_MOCS} plane.cpp util_convert.cpp planeviewer.cpp planewidget.cpp objects.cpp coordinates.cpp utils.cpp)
TARGET_LINK_LIBRARIES(util_convert ${Boost_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTSVG_LIBRARY}
${QT_QTXML_LIBRARY} ${QT_QTOPENGL_LIBRARY} ${OPENGL_LIBRARIES})
我如何编译:
转到 src/然后做 cmake . 最后制作。错误发生在制作步骤中。
在发布此内容之前,我已经在互联网上搜索过,但尚未找到解决方案。
有人可以帮助我吗?
问题出在INCLUDE_DIRECTORIES
中。我认为在您的示例中QT_QTGUI_INCLUDE_DIR
变量具有值/usr/include/qt4/QtGui
,但是您需要将/usr/include/qt4
添加到INCLUDE_DIRECTORIES
,因为在代码中包含语句中使用路径<QtGui/qwidget.h>
:
INCLUDE_DIRECTORIES("/usr/include/qt4")
多亏
了@gomons,我才能编译它。
我在CmakeList中添加了以下行:
INCLUDE_DIRECTORIES("/usr/include/qt4/")
相关文章:
- 用MacOS Mojave编译C++:致命错误:mpi.h:没有这样的文件或目录
- 致命错误:特征/密集:VSC 中没有此类文件或目录
- macOS 致命错误:sys/_types/_int8_t.h:没有此类文件或目录 #include < sys/_types/_int8_t.h>
- /usr/include/c++/7/cstdlib:75:15:致命错误:stdlib.h:没有这样的文件或目录 #i
- 代码::块C++使用 MacOS 编译 Mojave : 致命错误: sys/cdefs.h: 没有这样的文件或目录
- 致命错误:找不到'boost/uuid/uuid.hpp'文件
- 致命错误 C1001 :vs2017 15.8.4 的内部错误(编译器文件"msc1.cpp",第
- 链接:致命错误LNK1104:无法打开文件"python37_d.lib"
- 造成致命错误:boost/fusion/iterator/equal_to.hpp 没有这样的文件或目录
- 在 Windows 10 下使用 GTest 的 CMake - 致命错误 LNK1104:无法打开文件"gtest.lib",但存在调试"gtestd.lib"
- 【MacOSX 10.15.1】使用 odb 生成数据库,致命错误:wchar.h:没有这样的文件或目录 #include < wchar.h>
- pip install uwsgi 失败,出现 /usr/local/include/string/string.h:7:10:致命错误:找不到'sstream'文件?
- Dll中缺少什么(致命错误LNK1107:无效或损坏的文件:)
- 75:15:致命错误:stdlib.h:没有这样的文件或目录 #include_next <stdlib.h>
- 致命错误:cuda.h:没有用于 c++ 的此类文件或目录
- 致命错误 C1083:无法打开包含文件:"GL/glew.h":没有此类文件或目录
- 致命错误: occi.h: 没有这样的文件或目录 | Fedora 20.
- 上传大文件并解析时使用 Node.js v10.15.1 时出现致命错误
- 致命错误: Imlib2.h:没有这样的文件或目录,但我有这个文件
- 链接 .lib 文件:致命错误LNK1107