首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QT:编译qt文件的命令

QT:编译qt文件的命令
EN

Stack Overflow用户
提问于 2015-07-11 18:00:29
回答 1查看 315关注 0票数 0

我需要在linux命令行上编译qt应用程序,但是我有一些问题,包括qt库。

以下是我的程序中包括的内容: InterfazArchivador.cpp:

代码语言:javascript
复制
#include "InterfazArchivador.h"
#include "ui_InterfazArchivador.h" 
#include <iostream>
#include <QMainWindow>

InterfazArchivador.h:

代码语言:javascript
复制
#include <QMainWindow>

Main:

代码语言:javascript
复制
#include "InterfazArchivador.h"
#include <QApplication>

我试过这样的方法:

代码语言:javascript
复制
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

但我会犯这样的错误:

代码语言:javascript
复制
/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.

我不知道是怎么回事,也许我需要更多的图书馆?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-11 18:36:24

使用这两种包含路径:

代码语言:javascript
复制
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包含根目录中的文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31360168

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档