使用QCreator +Git 的时候因为QCreator 的自己生成项目文件在其他机器上面不能使用(编译步骤会还原成只剩qmake-make)。导致一些自定义编译步骤和一些脚本操作不在能用。现在,我们可以通过 qmake 的自定义 Makefile 文件输出达到这一目地。
比如我这边用了第三方编译好的静态库,编译时候拷贝了头文件和 LIBS
+=
-L
./
-llibname 这样的选项,这时如果我们选择用 Shadow build 指定编译到其他目录去的时候,qmake生成make文件是不能找到-l中的的相关静态库文件的。这时候自定义 Makefile 文件输出就有用了。
qmake的pro文件中有这个变量QMAKE_EXTRA_TARGETS 这个可以理解为额外编译目标、还有PRE_TARGETDEPS可以理解为预编译目标依赖
,比如下面这个
mybuild.target=mybuild
win32{
mybuild.commands=${COPY} ../project/libname-mingw.a libname.a
}else{
mybuild.commands=${COPY} ../project/libname-gcc.a libname.a
}
QMAKE_EXTRA_TARGETS += mybuild
PRE_TARGETDEPS += mybuild
像上面这个就是定义了一个在Makefile中的一个编译目标mybuild
然后make的时候,在我们编译目标文件之前就执行mybuild。这样就保证了编译时候库文件就拷贝到编译目录里面。不需要在QCreator里面设置编译步骤去拷贝了,其commands 里面还可以直接调用本地脚本执行更多的方法。
分享到:
相关推荐
Pro 文件中的系统变量是 qmake 用来生成 Makefile 的关键。下面是 Qt 中 Pro 文件中使用的系统变量的说明: TEMPLATE TEMPLATE 系统变量用于指定模板类型,告诉 qmake 生成哪种类型的 Makefile。例如,TEMPLATE = ...
QT中的.pro文件是Qt项目的核心配置文件,它用于定义项目的属性、编译选项、源代码文件、库依赖等信息,从而指导qmake工具生成适用于不同编译系统的Makefile或者Visual Studio项目文件。以下是对.pro文件详细写法的...
通过`qmake`命令,这个文件会被解析并生成对应的Makefile,指导编译过程。 首先,`TEMPLATE`变量用于定义项目类型。常见的值有`app`(应用程序)、`lib`(静态或动态库)、`subdirs`(多层目录结构的项目)等。例如...
- **命令行参数**:qmake支持命令行参数,如`-project`用于创建新的项目文件,`-makefile`强制生成Makefile,`-o`指定Makefile输出路径等。 - **模板**:qmake提供了多种预定义的模板,如app(应用程序)、lib(库)...
- `.qmake.conf`:这是Qt的QMake配置文件,通常包含特定项目的编译选项和路径设置,用于指导QMake构建系统生成Makefile。 - `LICENSE.GPL3`、`LICENSE.GPL3-EXCEPT`:这些文件包含了GPLv3开源许可证的文本,表明该...
5. **构建规则**:在VC++ 6.0的项目设置中,你需要定义自定义的构建步骤,包括使用qmake生成Makefile,然后调用nmake或其他编译器来编译代码。 6. **头文件和库链接**:确保你的项目设置包含了Qt库的正确路径,并...
- 使用`qmake`生成Makefile,然后通过`make`命令编译和链接cpp文件,将所有依赖项合并成可执行文件。 - 对于Qt项目,还需要链接Qt库,确保所有必要的功能模块都被包含。 6. **调试与测试**: - Qt Creator集成...
- 使用`qmake`生成Makefile,然后用`make`命令编译项目。 - 在QT Creator或其他IDE中,这些步骤可以自动化完成。 8. **版本控制**: 项目可能使用了版本控制系统(如Git),这对于团队协作和代码版本管理至关...
编译成功后,可以在项目的输出目录下找到编译生成的sqlite3库文件。你可以编写简单的测试程序来验证编译结果。 跨平台编译的关键在于确保编译选项和依赖项适应目标平台。对于不同的操作系统,可能需要调整库链接和...
它通过编写一个简单的脚本文件(通常名为CMakeLists.txt),为不同的构建环境生成相应的项目文件(如Makefile、Visual Studio项目文件等)。CMake之所以流行,是因为它灵活、强大,并能够适应多种开发环境。 ### 为...
如果后期需要编译特定示例或演示,可以直接使用Qt安装目录下的`qmake`生成Makefile,单独编译,不影响使用。 其次,裁剪Qt模块是另一种有效的方式。从Qt 4开始,Qt采用了模块化设计,允许开发者只编译需要的库。...
9. **构建系统**:Qt项目通常使用qmake或CMake作为构建工具,它们会生成Makefile或其他构建脚本来编译和链接项目。`TextEditTest`可能包含一个.pro或CMakeLists.txt文件来配置构建过程。 10. **调试与测试**:为了...
- **自定义Makefile**:介绍如何创建和使用自定义的Makefile。 - **构建脚本**:解释如何编写和使用构建脚本。 - **10.5 编译器选项**:说明如何设置编译器选项。 - **10.6 Make选项**:解释如何配置Make命令的...
10. **Makefile或qmake**:构建系统,用于编译和链接源代码。 了解这些知识点后,开发者可以依据源码学习QT GUI编程,如何设计用户界面,以及如何实现特定功能的逻辑代码。对于想要扩展或自定义进制转换器功能的...
2. 配置文件(.pro或.qmake.pro):用于Qt的构建系统,描述项目设置和依赖。 3. 头文件(.h或.hpp):包含类定义和接口声明。 4. 源文件(.cpp):实现类的功能和逻辑。 5. 资源文件(.qrc):用于管理项目中的图像...
然后执行`qmake`命令生成`Makefile`文件,并通过`make`命令进行编译。需要注意的是,在Windows环境下编写的程序在Linux系统上可能无法直接运行。为了解决这个问题,只需要修改某些文件的位置标志即可,例如可以将...
为了运行这些测试,开发者需要链接到Qt Test库,并通过`qmake`生成Makefile,然后使用`make`命令编译项目。最后,执行编译后的可执行文件即可运行测试,测试结果会在控制台中显示,包括通过的测试、失败的测试及其...
它提供了一套配置脚本和Makefile,可以生成一个完整的文件系统,包括内核、工具链(cross-compilation toolchain)、库、应用程序以及设备驱动。通过Buildroot,开发者可以自定义选择需要的软件包,生成适合目标硬件...