`

(转)QT中pro工程文件的编写

    博客分类:
  • QT
 
阅读更多

http://blog.csdn.net/fjb2080/article/details/4833666

 

要自己全部写pro文件又有点麻烦,所以,一般都是先运行

      qmake -project

来生成基本的pro文件。例如你有一个工程目录为backup,那么在这个目录下就会生成backup.pro文件。

 

对一般的工程,我们只需要修改几个基本的常用的选项,下面说说怎么修改。

 

假设我们有个目录,名字为backup。下面有a.h,a.cpp,b.h,b.cpp,main.cpp等文件。

首先我们可以在backup目录下运行qmake -project生成backup.pro文件。

在backup.pro里已经包含了几个基本的选项,如

    TEMPLATE,TARGET,INCLUDEPATH,HEADS,SOURCES等选项。

 

下面说明一下几个经常修改的选项。

        HEADS:

我们工程中头文件如下:

HEADS += a.h /

                     b.h

 

SOURCES:

我们工程中的cpp文件,如下:

SOURCES += a.cpp /

                           b.cpp /

                           main.cpp

 

上面的两个选项的文件分行是用反斜线/来分行,最后一个不用,如果是同一行的文件可以空格分开,我们在执行qmake -project的时候,qmake已经自动帮我们写上了,省去我们这些麻烦,不过以后要增加文件可以在这里增加。

 

    INCLUDEPATH:

这个选项可以指定我们#include语句要包含头文件的目录,如果你有其它的不在当前目录的头文件需要包含进来,并又不想在自己的源文件中使用绝对路径或相对路径来包含头文件,那么我就可以在这里把这个头文件所在的路径包含进来,例如在backup目录的兄弟目录里有个目录为image的目录,里面有个头文件为image.h,我们的b.h里要用到,因此我们在backup.pro文件中设置INCLUDEPATH为

     INCLUDEPATH += ../image

这样,我们在b.h里只需要#include "image.h"就可以了。

 

    CONFIG:

CONFIG经常用到的一个是就是设置release版本或是debug或是release和debug的版本信息。如果我们要调试可以这样设置。

    CONFIG += debug

    或CONFIG += release (release版本)

    下面是CONFIG的几个版本的选项:

 

release The project is to be built in release mode. This is ignored if  debug   is also specified.
debug The project is to be built in debug mode.
debug_and_release The project is built in  both   debug and release modes. This can have some unexpected side effects (see below for more information).
build_all If  debug_and_release   is specified, the project is built in both debug and release modes by default.
ordered When using the  subdirs   template, this option specifies that the directories listed should be processed in the order in which they are given.
precompile_header Enables support for the use of  precompiled headers   in projects.
warn_on The compiler should output as many warnings as possible. This is ignored if  warn_off  is specified.
warn_off The compiler should output as few warnings as possible.

 

 

    LIBS:

这里可以选择我们要包含的库,例如我们的工程要用到libz.so的一个压缩库,我可以怎么写:

    LIBS += -lz

或是用到我们image目录下的libimage.so库,那么可以这么写:

    LIBS += -L../image/image

 

    DEFINES:

DEFINES又是我们一个常用的定要,它相当于我们用gcc的-D定义。例如,我们的backup工程需要对大文件进行读写就可以这样定义:

DEFINES += _LARGEFILE64_SOURCE   _FILE_OFFSET_BITS=64

 

    RESOURCES:

定义我们的资源描述文件,我们工程里需要很多图片,那么这些图片的定义都可以放在backup.qrc文件中进行描述,那么这里就可以指出我们的qrc文件。

RESOURCES += backup.qrc

 

    TARGET:

这个选项可以让我们定义我们生成的目标文件的名字,例如我们执行我们这个backup工程是默认生成backup的执行文件,但我们想让我们的执行的文件名为abcbackup,我们就可以这样写

TARGET = abcbackup

 

    OBJECTS_DIR:

          一般我们在编译我们的工程的时候会生成许多的中间文件,如.o文件(linux下)或.obj(windows下),这样我们的工程就很乱,所以我们可以定义这个选择,我们可以这样定义:

OBJECTS_DIR += ./objs

这样,我们的这些中间文件就全都在backup/objs目录下了

 

      一般,我们不会在我们的工程里直接编译,这样的话,工程比较乱,我们可以在backup目录下建立一个目录,为bakcup-build目录,我们在这个目录下编译,这样其他的临时文件就在这个目录下,这样我们的工程看起来就不会那么乱了。

      我们进入bakcup-build目录,然后运行

             qmake -o Makefile ../bakcup.pro

      这样我们就在当前目录下生成了一个Makefile。在这个目录下执行make就可以生成我们的abcbackup可执行程序了。

分享到:
评论

相关推荐

    Qt的pro文件编写方法

    Qt 的 pro 文件编写方法 Qt 的 pro 文件是用于配置和编译 Qt 应用程序的关键文件,本文将详细介绍 Qt 的 pro 文件编写方法和技巧。 一、模块设置 在 pro 文件中,首先需要指定模块设置,基本设置为 app(生成应用...

    QT跨目录编译及多工程集成(动态库的创建、引用及工程间相互依赖关系的pro文件编写方法)

    本教程将详细讲解如何进行QT跨目录编译以及多工程集成,重点在于动态库的创建、引用以及pro文件的编写技巧,确保工程间依赖关系的正确设置。 首先,让我们理解Qt的pro文件。它是Qt项目的核心配置文件,用于指定项目...

    qt pro文件代码

    在描述中提到,这个项目"代码工程可编译运行",这意味着提供的Pro文件应该包含了完整的构建指令,使得用户可以在拥有Qt环境的机器上直接编译并运行程序。为了做到这一点,Pro文件需要正确指定所有依赖的Qt模块、源...

    QT 中英文翻译转成excel表(源码,完整工程,ts文件转xls)

    7. **项目结构**:完整的工程应该包括Qt项目的配置文件(.pro),源代码文件(如.cpp和.h),以及可能的资源文件(如TS文件)。这使得其他人可以编译和运行这个工具,或者将其集成到自己的项目中。 8. **本地化流程...

    Qt工程生成MiniDump文件

    要在Qt工程中生成MiniDump文件,我们首先需要在项目的.pro文件中进行配置。.pro文件是Qt项目的主要配置文件,通过修改它可以控制编译过程中的各种选项。在.pro文件中,我们需要添加如下代码来启用Minidump的生成: ...

    QT多工程多目录工程示例

    3. **编写子工程文件**:在每个子目录下,编写相应的`.pro`文件,例如`UI.pro`: ```makefile QT += widgets SOURCES += main.ui \ main.cpp HEADERS += header.h ``` 这里定义了工程所需的QT模块、源代码...

    QT计算器全部工程文件打包

    QT计算器全部工程文件打包是一个适合初学者的项目,它基于QT Creator这个强大的集成开发环境(IDE)构建。QT是Qt Company开发的一个跨平台的应用程序开发框架,广泛应用于GUI(图形用户界面)编程,同时支持网络、...

    qt生成so文件,再调用so文件-1.pdf

    在 Linux 系统中,因为不支持 dll 文件,而是支持 so 文件,因此,需要生成 so 文件以便 Qt 在 Linux 系统中调用。 在 Ubuntu 16.04 环境下,使用 Qt 生成 so 文件,并新建 Qt 项目调用 so 文件。首先,需要新建一...

    二进制文件编辑器qt编写

    总的来说,“二进制文件编辑器qt编写”项目展示了Qt框架在跨平台应用开发中的强大能力,尤其是在创建专业级的二进制数据编辑工具时。通过理解项目的各个部分,开发者可以学习到如何利用Qt来设计高效、功能丰富的应用...

    Qt Widgets 工程各个包含的文件及各个文件的介绍

    Qt Widgets工程通常包含多个文件,每个文件都有特定的作用,这对于理解和构建有效的Qt应用至关重要。以下是对这些文件及其功能的详细介绍: 1. **main.cpp**:这是程序的入口点,通常包含`int main(int argc, char ...

    qt调用JAVA文件示例

    你需要在QT项目中包含Android的JNI头文件和库,这通常通过在.pro文件中添加以下内容实现: ```pro QT += androidextras INCLUDEPATH += $$[QT_INSTALL_PREFIX]/src/3rdparty/android/jni LIBS += -lQt5...

    qt5.9工程模板

    1. **项目文件(.pro)**:这是Qt项目的核心配置文件,用于定义工程的属性,如使用的Qt模块、编译选项、源代码文件等。例如,`QT += widgets` 表示该项目使用了Widgets模块。 2. **源代码文件**:包括`.cpp`和`.h`...

    净化器项目QT工程文件

    QT工程文件通常包括.pro文件,它是QT项目的核心配置文件,定义了项目的基本信息、依赖库以及编译选项等。此外,工程中可能还包括C++源代码文件(如.cpp和.h)、UI设计文件(如.ui)、资源文件(如.qrc)、配置文件...

    Hello-QT.rar_QT_qt 工程_qt程序

    2. **编写代码**:在源代码文件(如main.cpp)中,开发者会编写实现"Hello Qt"功能的C++代码,这可能包括创建窗口对象、设置布局、添加文本标签等。 3. **配置项目**:在.pro文件中,开发者会指定编译器选项、库依赖...

    qt初学者的qt工程

    5. **项目工程文件(qt_PRO)**: 在Qt开发中,`.pro`文件是项目的配置文件,用于描述项目的基本信息、编译选项、依赖库等。通过`qmake`工具,我们可以根据`.pro`文件生成对应平台的Makefile,进而进行编译和链接。...

    QT5编写的串口助手,支持显示中文

    2. `untitled.pro`:这是Qt项目的配置文件,包含了编译和链接的设置,如使用的QT模块、目标平台、编译选项等。 3. `myserialport.h`和`myserialport.cpp`:这是自定义串口类的头文件和实现文件。通常,这个类会封装...

    QT MySQL简单源码 整个工程文件包

    QT MySQL简单源码整个工程文件包提供了在QT框架下与MySQL数据库进行交互的实例,适合初学者和开发者学习如何在QT应用中实现数据库操作。QT是一个跨平台的C++图形用户界面应用程序开发框架,而MySQL则是一种广泛使用...

    QT中显示bmp图片

    这通常涉及到下载库文件,设置编译器路径,并在QT项目的.pro文件中添加相应的链接器和包含目录设置。 2. **创建QT界面**:首先创建一个QT项目,选择合适的模板,例如Widget应用。在UI设计中,可以添加一个QLabel...

    Qt工程中使用curl进行网络请求,最小程序

    在本文中,我们将深入探讨如何在Qt工程中利用curl库进行网络请求,这是一个最小化的示例,可以帮助开发者了解如何将curl集成到Qt项目中。首先,让我们了解一下curl库和Qt框架的基本概念。 **curl库介绍** curl是一...

Global site tag (gtag.js) - Google Analytics