使用Qt/qmake时如何将生成的文件(例如目标文件)放入单独的文件夹中?

发布于 2024-09-13 16:41:02 字数 917 浏览 3 评论 0原文

我有一个使用 qmake 的 Qt 项目。为了提高清晰度和可读性,我想将

  • 源文件
  • 构建系统
  • 生成的文件(例如目标文件)

分开。

所以我的第一步是将源文件放入 src/ 子目录中:

myproject/
    myproject.pro
    src/
        main.cpp
        MainWindow.ui
        ...

这样我将源文件与构建系统(*.pro)分开。但是,当我运行 qmake 后跟 make 时,生成的文件(目标文件等)将被放入主项目文件夹中:

myproject/
    myproject.pro
    Makefile
    main.o
    ui_MainWindow.h
    ...
    src/
        main.cpp
        MainWindow.ui
        ...

嗯,至少它们不是放入 src/ 文件夹中,但如何指定将它们放入另一个子文件夹(例如 build/)中?

myproject/
    myproject.pro
    Makefile
    build/
        main.o
        ui_MainWindow.h
        ...
    src/
        main.cpp
        MainWindow.ui
        ...

(顺便说一句,我不关心目标二进制文件 myproject 放在哪里,但我想它应该直接放入项目文件夹中,而不是放入 build/ 中。)

I have a Qt project that uses qmake. To improve clarity and readability, I'd like to keep the

  • source files
  • build system
  • generated files (such as object files)

separate.

So my first step was putting the source files into a src/ sub directory:

myproject/
    myproject.pro
    src/
        main.cpp
        MainWindow.ui
        ...

That way I separated the source files from the build system (*.pro). However, when I then run qmake followed by make, the generated files (object files, etc) are placed into the main project folder:

myproject/
    myproject.pro
    Makefile
    main.o
    ui_MainWindow.h
    ...
    src/
        main.cpp
        MainWindow.ui
        ...

Well, at least they weren't put into the src/ folder, but how do I specify that they are put into another sub folder such as build/?

myproject/
    myproject.pro
    Makefile
    build/
        main.o
        ui_MainWindow.h
        ...
    src/
        main.cpp
        MainWindow.ui
        ...

(BTW, I don't care where the target binary myproject is put, but I guess it should be placed directly into project folder rather than into build/.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

葬花如无物 2024-09-20 16:41:02

您可以将以下行添加到您的 *.pro 文件中:

DESTDIR=bin #Target file directory
OBJECTS_DIR=generated_files #Intermediate object files directory
MOC_DIR=generated_files #Intermediate moc files directory

以下位置提供了变量列表:

You can add the following lines to your *.pro file:

DESTDIR=bin #Target file directory
OBJECTS_DIR=generated_files #Intermediate object files directory
MOC_DIR=generated_files #Intermediate moc files directory

A list of variables is available at the following locations:

绮烟 2024-09-20 16:41:02

https://wiki.qt.io/Undocumented_QMake#Config_features

object_with_source — 将每个目标文件输出到与其源文件相同的目录中(在最新版本中被 object_parallel_to_source 替换)。
object_parallel_to_source — 为目标文件重新创建源文件夹树(替换 object_with_source)。

在*.pro中写入

CONFIG += object_parallel_to_source

https://wiki.qt.io/Undocumented_QMake#Config_features

object_with_source — outputs each object file into the same directory as its source file (replaced by object_parallel_to_source in the latest versions).
object_parallel_to_source — recreate source folder tree for object files (replaces object_with_source).

in *.pro write

CONFIG += object_parallel_to_source
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文