Qt不会在Linux中的调试/发布文件夹中创建输出文件

Qt不会在Linux中的调试/发布文件夹中创建输出文件,linux,qt,ubuntu,Linux,Qt,Ubuntu,当我在Ubuntu上构建Qt应用程序时,它会将输出文件放在主解决方案文件夹中,而不是像在Windows上那样放在发布/调试文件夹中 这是有问题的,因为有时候输出文件需要作为构建过程的一部分运行(例如运行单元测试) 我有一个想法,这与qmake.conf文件有关,但我不确定该怎么办 因此,我的问题是: 为什么会存在这种差异(可能是我吗?) 我应该如何确保我的应用程序能够在Windows和Ubuntu上正确构建 我假设您正在使用qmake进行实际构建。您可以编辑项目文件,将输出放在不同的目录中,如下

当我在Ubuntu上构建Qt应用程序时,它会将输出文件放在主解决方案文件夹中,而不是像在Windows上那样放在发布/调试文件夹中

这是有问题的,因为有时候输出文件需要作为构建过程的一部分运行(例如运行单元测试)

我有一个想法,这与qmake.conf文件有关,但我不确定该怎么办

因此,我的问题是:

  • 为什么会存在这种差异(可能是我吗?)
  • 我应该如何确保我的应用程序能够在Windows和Ubuntu上正确构建

  • 我假设您正在使用qmake进行实际构建。您可以编辑项目文件,将输出放在不同的目录中,如下所示:

    # only for unix:
    unix {
        # in debug mode...
        CONFIG(debug, debug|release) {
            DESTDIR = debug
        }
        else {
            DESTDIR = release
        }
    }
    
    显然,为了使其工作,您需要同时构建调试和发布可执行文件。可以找到有关此主题的更多信息


    Cheers

    在windows上设置了
    CONFIG
    变量
    debug\u和\u release
    debug\u和\u release\u目标,但在linux上没有设置。因此,下面这行代码将确保您的构建在linux和windows上是相同的:

    CONFIG *= debug_and_release debug_and_release_target
    

    政府很快就提到了这一点。文件
    /usr/share/qt4/mkspecs/win32-g++/qmake.conf
    将其添加到
    CONFIG

    中,这也适用于OSX,条件为“mac”。有了OSX,YourProgram.app文件夹将直接放在“debug”或“release”目录下,而实际的可执行文件将放在YourProgram.app/Contents/MacOS中的较低级别。明天将对此进行测试。我希望这可以消除windows上多余的调试/发布文件夹