2009-08-19 16 views
6

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

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

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

所以我的问题是:

  1. 为什么会出现这种差异存在(它可能只是我吗?)
  2. 我应该怎样去确保我的应用程序将正确地建立在Windows和Ubuntu的?

回答

6

我假设你使用qmake来做实际建筑。为了

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

显然,这个工作你需要构建调试版本和发布的可执行文件:您可以编辑的项目文件放置在不同的目录输出这样的。关于这个主题的更多信息,可以发现here

干杯

+0

这适用于OSX也以“mac”作为条件。使用OSX时,YourProgram.app文件夹将直接放置在“debug”或“release”目录下,而实际的可执行文件将放置在YourProgram.app/Contents/MacOS的较低位置。 – 2011-03-05 02:30:07

6

CONFIG变量debug_and_releasedebug_and_release_target在Windows上设置,但不能在Linux上。所以下面的线将确保您的构建将在Linux和Windows一样的:

CONFIG *= debug_and_release debug_and_release_target 

documentation不久提到它。文件/usr/share/qt4/mkspecs/win32-g++/qmake.conf将其添加到CONFIG

+0

明天要测试这个。我希望这摆脱冗余调试/释放文件夹窗口 – 2015-09-25 03:15:47

相关问题