QT:命令编译QT文件
问题描述:
我需要编译的Linux命令行上的Qt应用程序,但我有一些问题,包括Qt库QT:命令编译QT文件
这些都是包括在我的程序: InterfazArchivador.cpp:
#include "InterfazArchivador.h"
#include "ui_InterfazArchivador.h"
#include <iostream>
#include <QMainWindow>
InterfazArchivador.h:
#include <QMainWindow>
主营:
#include "InterfazArchivador.h"
#include <QApplication>
我已经试过这样的事情:
gcc -m32 -c -I/home/sandarka/Qt/5.4/gcc/include/QtWidgets /home/sandarka/Qt/5.4/gcc/include/QtWidgets/qwidget.h /home/sandarka/Qt/5.4/gcc/include/QtGui main.cpp ArchInterfaz.cpp
,但我得到这样的错误:
/home/sandarka/Qt/5.4/gcc/include/QtWidgets/qwidget.h:37:31: fatal error: QtGui/qwindowdefs.h: No existe el archivo o el directorio
#include <QtGui/qwindowdefs.h>
^
compilation terminated.
In file included from /home/sandarka/Qt/5.4/gcc/include/QtWidgets/QMainWindow:1:0,
from ArchInterfaz.h:4,
from main.cpp:1:
/home/sandarka/Qt/5.4/gcc/include/QtWidgets/qmainwindow.h:37:31: fatal error: QtWidgets/qwidget.h: No existe el archivo o el directorio
#include <QtWidgets/qwidget.h>
^
compilation terminated.
In file included from /home/sandarka/Qt/5.4/gcc/include/QtWidgets/QMainWindow:1:0,
from ArchInterfaz.h:4,
from ArchInterfaz.cpp:1:
/home/sandarka/Qt/5.4/gcc/include/QtWidgets/qmainwindow.h:37:31: fatal error: QtWidgets/qwidget.h: No existe el archivo o el directorio
#include <QtWidgets/qwidget.h>
^
compilation terminated.
我不知道什么是错,也许我需要包括更多的库?
答
使用都包括路径:
gcc -m32 -c -I/home/sandarka/Qt/5.4/gcc/include/ -I/home/sandarka/Qt/5.4/gcc/include/QtWidgets -I/home/sandarka/Qt/5.4/gcc/include/QtGui main.cpp ArchInterfaz.cpp
基本上你必须通过编译器的两条路径:
- 一个谁全球包含了所有Qt的模块
- 一个谁包含单一的Qt你想使用的模块
为什么两个路径为同一个文件?
在Qt模块中,<QtModuleName/FileName>
规则中包含其他文件,如果没有模块名称,您必须手动将其告知要搜索的子目录,否则编译器会期望Qt include root文件。
Thak你的答案,它的作品,我没有这些错误了,但现在我得到致命错误:ui_InterfazArchivador.h:没有existe el archivo o el directorio #包括“ui_InterfazArchivador.h”你知道如何解决这个问题? –
你还没有编译.ui文件,'uic InterfazArchivador.ui -o ui_InterfazArchivador.h'应该执行 – gengisdave
这个工作哦,以及如何从命令行编译.ui文件。我在上面的命令的最后尝试,但错误仍然存在。 –