在Linux中,Qt不会在debug/release文件夹中创建输出文件。

6
当我在Ubuntu上构建Qt应用程序时,与Windows不同的是,它将输出文件放在主解决方案文件夹中,而不是发布/调试文件夹中。这是有问题的,因为有时需要在构建过程中运行输出文件(例如运行单元测试)。我有一个想法,这与qmake.conf文件有关,但我不确定该怎么做。
所以我的问题是: 1. 为什么存在这种差异(可能只是我吗?) 2. 我应该如何确保我的应用程序在Windows和Ubuntu上都能正确构建?
2个回答

8

CONFIG变量在Windows上设置了debug_and_releasedebug_and_release_target,但在Linux上没有。因此,以下行将确保您的构建在Linux和Windows上相同:

CONFIG *= debug_and_release debug_and_release_target

这在文档中有简短的提及。文件/usr/share/qt4/mkspecs/win32-g++/qmake.conf将其添加到CONFIG中。


明天我要测试这个。希望能够在Windows上消除冗余的debug/release文件夹。 - Edwin Rodríguez

6

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

# only for unix:
unix {
    # in debug mode...
    CONFIG(debug, debug|release) {
        DESTDIR = debug
    }
    else {
        DESTDIR = release
    }
}

显然,为了使其正常工作,您需要构建调试和发布可执行文件。有关此主题的更多信息,请单击此处。祝好!

这个方法同样适用于OSX,条件是使用“mac”。在OSX中,“YourProgram.app”文件夹将直接放置在“debug”或“release”目录下,而实际的可执行文件将放置在更深层次的“YourProgram.app/Contents/MacOS”目录中。 - Jan Hettich

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接