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 应用程序的关键文件,本文将详细介绍 Qt 的 pro 文件编写方法和技巧。 一、模块设置 在 pro 文件中,首先需要指定模块设置,基本设置为 app(生成应用...
本教程将详细讲解如何进行QT跨目录编译以及多工程集成,重点在于动态库的创建、引用以及pro文件的编写技巧,确保工程间依赖关系的正确设置。 首先,让我们理解Qt的pro文件。它是Qt项目的核心配置文件,用于指定项目...
在描述中提到,这个项目"代码工程可编译运行",这意味着提供的Pro文件应该包含了完整的构建指令,使得用户可以在拥有Qt环境的机器上直接编译并运行程序。为了做到这一点,Pro文件需要正确指定所有依赖的Qt模块、源...
7. **项目结构**:完整的工程应该包括Qt项目的配置文件(.pro),源代码文件(如.cpp和.h),以及可能的资源文件(如TS文件)。这使得其他人可以编译和运行这个工具,或者将其集成到自己的项目中。 8. **本地化流程...
要在Qt工程中生成MiniDump文件,我们首先需要在项目的.pro文件中进行配置。.pro文件是Qt项目的主要配置文件,通过修改它可以控制编译过程中的各种选项。在.pro文件中,我们需要添加如下代码来启用Minidump的生成: ...
3. **编写子工程文件**:在每个子目录下,编写相应的`.pro`文件,例如`UI.pro`: ```makefile QT += widgets SOURCES += main.ui \ main.cpp HEADERS += header.h ``` 这里定义了工程所需的QT模块、源代码...
QT计算器全部工程文件打包是一个适合初学者的项目,它基于QT Creator这个强大的集成开发环境(IDE)构建。QT是Qt Company开发的一个跨平台的应用程序开发框架,广泛应用于GUI(图形用户界面)编程,同时支持网络、...
在 Linux 系统中,因为不支持 dll 文件,而是支持 so 文件,因此,需要生成 so 文件以便 Qt 在 Linux 系统中调用。 在 Ubuntu 16.04 环境下,使用 Qt 生成 so 文件,并新建 Qt 项目调用 so 文件。首先,需要新建一...
总的来说,“二进制文件编辑器qt编写”项目展示了Qt框架在跨平台应用开发中的强大能力,尤其是在创建专业级的二进制数据编辑工具时。通过理解项目的各个部分,开发者可以学习到如何利用Qt来设计高效、功能丰富的应用...
Qt Widgets工程通常包含多个文件,每个文件都有特定的作用,这对于理解和构建有效的Qt应用至关重要。以下是对这些文件及其功能的详细介绍: 1. **main.cpp**:这是程序的入口点,通常包含`int main(int argc, char ...
QT开发中的清理指定目录下所有文件是一项常见的任务,特别是在系统维护、日志管理或软件卸载等场景。本文将深入探讨如何使用QT5框架来实现这一功能,重点关注文件的枚举、选择特定类型以及安全删除。 首先,让我们...
你需要在QT项目中包含Android的JNI头文件和库,这通常通过在.pro文件中添加以下内容实现: ```pro QT += androidextras INCLUDEPATH += $$[QT_INSTALL_PREFIX]/src/3rdparty/android/jni LIBS += -lQt5...
1. **项目文件(.pro)**:这是Qt项目的核心配置文件,用于定义工程的属性,如使用的Qt模块、编译选项、源代码文件等。例如,`QT += widgets` 表示该项目使用了Widgets模块。 2. **源代码文件**:包括`.cpp`和`.h`...
QT工程文件通常包括.pro文件,它是QT项目的核心配置文件,定义了项目的基本信息、依赖库以及编译选项等。此外,工程中可能还包括C++源代码文件(如.cpp和.h)、UI设计文件(如.ui)、资源文件(如.qrc)、配置文件...
2. **编写代码**:在源代码文件(如main.cpp)中,开发者会编写实现"Hello Qt"功能的C++代码,这可能包括创建窗口对象、设置布局、添加文本标签等。 3. **配置项目**:在.pro文件中,开发者会指定编译器选项、库依赖...
5. **项目工程文件(qt_PRO)**: 在Qt开发中,`.pro`文件是项目的配置文件,用于描述项目的基本信息、编译选项、依赖库等。通过`qmake`工具,我们可以根据`.pro`文件生成对应平台的Makefile,进而进行编译和链接。...
2. `untitled.pro`:这是Qt项目的配置文件,包含了编译和链接的设置,如使用的QT模块、目标平台、编译选项等。 3. `myserialport.h`和`myserialport.cpp`:这是自定义串口类的头文件和实现文件。通常,这个类会封装...
QT MySQL简单源码整个工程文件包提供了在QT框架下与MySQL数据库进行交互的实例,适合初学者和开发者学习如何在QT应用中实现数据库操作。QT是一个跨平台的C++图形用户界面应用程序开发框架,而MySQL则是一种广泛使用...
在本文中,我们将深入探讨如何在Qt工程中利用curl库进行网络请求,这是一个最小化的示例,可以帮助开发者了解如何将curl集成到Qt项目中。首先,让我们了解一下curl库和Qt框架的基本概念。 **curl库介绍** curl是一...