qmake 添加自定义的文件夹

在 Qt 项目中,如果你想通过 qmake 添加自定义的文件夹,通常是为了包含特定的源文件、头文件或者资源文件。这可以通过修改 .pro 文件来实现。以下是一些常见的方法:

  1. 添加源文件

如果你有一个自定义的源文件文件夹,例如名为 my_sources,你可以这样添加:

SOURCES += $$PWD/my_sources/*.cpp

这里,$$PWD 是当前 .pro 文件所在的目录,*.cpp 会匹配该目录下所有的 .cpp 文件。
2. 添加头文件

类似地,如果你有一个自定义的头文件文件夹,例如名为 my_headers,可以这样添加:

HEADERS += $$PWD/my_headers/*.h
  1. 添加资源文件

如果你的资源文件(如图像、文本文件等)放在一个自定义的文件夹中,例如 my_resources,你可以这样包含它们:

RESOURCES += $$PWD/my_resources/my_resources.qrc

这里假设你已经在 my_resources 文件夹中创建了一个 .qrc 资源文件。
4. 添加包含路径

如果你的头文件分布在多个文件夹中,你可能还需要添加这些文件夹到包含路径中:

INCLUDEPATH += $$PWD/my_headers \
$$PWD/another_headers_folder
  1. 添加库路径和库

如果你需要链接到特定的库,而这些库位于自定义的文件夹中,你可以这样做:

LIBS += -L$$PWD/my_libs -lmylib

这里,-L 指定库文件的搜索路径,-l 指定要链接的库名。
6. 其他自定义设置

你还可以根据需要添加其他自定义设置,例如定义宏、添加编译标志等。这些都可以通过修改 .pro 文件来实现。

记得在每次修改 .pro 文件后,都需要重新运行 qmake 以应用更改。

直接(自定义)添加的文件夹,自动生成的ui文件,每次都需要自己手动添加这些自己添加的这些文件夹 

在 Qt 项目中,如果你有一些自动生成的 UI 文件或者其他由工具生成的文件,并且这些文件被放置在特定的文件夹中,你可能希望 qmake 能够自动将这些文件包含到项目中,而不需要你每次手动添加。这可以通过一些特定的 qmake 语法和配置来实现。

对于自动生成的 UI 文件,你可以使用 FORMS 变量来自动包含这些文件。假设你的 UI 文件被生成在 generated_ui 文件夹中,你可以在 .pro 文件中添加如下代码:

FORMS += $$PWD/generated_ui/*.ui

这样,qmake 会自动处理这些 UI 文件,并将它们编译成对应的 ui_*.h 头文件。

如果你还有其他的自动生成文件,比如由 MOC(Meta-Object Compiler)生成的元对象代码文件,你可以使用 MOC_SOURCES 变量来包含它们:

MOC_SOURCES += $$PWD/generated_moc/*.h

这里的 generated_moc 文件夹是假设的,你应该替换成你实际存放 MOC 生成文件的文件夹路径。

另外,如果你希望 qmake 在构建过程中自动执行某些操作,比如自动生成 UI 文件,你可以使用 QMAKE_EXTRA_TARGETS 和 PRE_TARGETDEPS 变量来定义自定义的构建目标。

举个例子,如果你有一个脚本可以生成 UI 文件,并希望这个脚本在每次构建之前都执行,你可以这样设置:

ui_files.target = $$PWD/generated_ui/my_ui.ui
ui_files.commands = path/to/your/script.sh
QMAKE_EXTRA_TARGETS += ui_files
PRE_TARGETDEPS += ui_files

这样,在每次构建之前,qmake 都会执行 script.sh 脚本来生成 UI 文件。

请注意,qmake 的功能相对有限,对于更复杂的构建需求,可能需要使用更高级的构建系统,如 CMake 或 Makefile。

总的来说,通过合理配置 .pro 文件,你可以自动化包含特定文件夹中的文件,并定义自定义的构建步骤,从而减少手动操作的需求。不过,请注意,这些配置可能需要根据你项目的具体情况进行调整。

 相当于cmake的“include_directories” 的qmake 标签是啥

在 qmake 中,与 CMake 的 include_directories 指令功能相似的标签是 INCLUDEPATHINCLUDEPATH 用于指定编译器搜索头文件的路径。

在 Qt 的 .pro 文件中,你可以这样设置包含目录:

INCLUDEPATH += $$PWD/path/to/your/headers

这里,$$PWD 是当前 .pro 文件所在的目录,path/to/your/headers 是你想要添加的头文件目录的相对路径。如果你有多个目录需要添加,可以这样做:

INCLUDEPATH += \
$$PWD/path/to/your/headers1 \
$$PWD/path/to/your/headers2

这样设置后,qmake 生成的 Makefile 会包含这些路径,使得编译器能够在编译时找到这些目录下的头文件。这与 CMake 中使用 include_directories 指令添加头文件搜索路径的效果相似。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值