【问题标题】:QT: Command for compile qt filesQT:编译qt文件的命令
【发布时间】:2015-07-11 18:00:29
【问题描述】:

我需要在 linux 命令行上编译一个 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.

我不知道出了什么问题,也许我需要包含更多的库?

【问题讨论】:

    标签: c++ linux qt command-line


    【解决方案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 模块中,其他文件包含在 &lt;QtModuleName/FileName&gt; 规则中,如果没有模块名称,您必须手动告知要在其中搜索的子目录,否则编译器会认为 Qt 包含根目录中的文件。

    【讨论】:

    • 谢谢你的回答,它有效,我不再有这些错误,但现在我遇到致命错误:ui_InterfazArchivador.h: No existe el archivo o el Directorio #include "ui_InterfazArchivador.h "你现在怎么解决这个问题?
    • 你还没有编译 .ui 文件,uic InterfazArchivador.ui -o ui_InterfazArchivador.h 应该做的工作
    • 哦,我如何从命令行编译 .ui?我尝试了上面命令的最后,但错误仍然存​​在。
    猜你喜欢
    • 2017-06-24
    • 2013-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    相关资源
    最近更新 更多