2015-07-11 79 views
0

我需要编译的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. 

我不知道什么是错,也许我需要包括更多的库?

回答

1

使用都包括路径:

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文件。

+0

Thak你的答案,它的作品,我没有这些错误了,但现在我得到致命错误:ui_InterfazArchivador.h:没有existe el archivo o el directorio #包括“ui_InterfazArchivador.h”你知道如何解决这个问题? –

+0

你还没有编译.ui文件,'uic InterfazArchivador.ui -o ui_InterfazArchivador.h'应该执行 – gengisdave

+0

这个工作哦,以及如何从命令行编译.ui文件。我在上面的命令的最后尝试,但错误仍然存​​在。 –