首页 文章

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

提问于
浏览
14

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

  • 源文件

  • 构建系统

  • 生成的文件(如目标文件)

分离 .

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

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/ . )

2 回答

  • 20

    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
    
  • 0

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

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

    以下位置提供变量列表:

相关问题