当我在Ubuntu上构建Qt应用程序时,它会将输出文件放在主解决方案文件夹中,而不像发布/调试文件夹那样放在Windows上。Qt不会在Linux中的调试/发布文件夹中创建输出文件
这是有问题的,因为有时输出文件需要作为构建过程的一部分运行(例如运行单元测试)。
我有一个想法,这与qmake.conf文件有关,但我不确定该怎么做。
所以我的问题是:
- 为什么会出现这种差异存在(它可能只是我吗?)
- 我应该怎样去确保我的应用程序将正确地建立在Windows和Ubuntu的?
当我在Ubuntu上构建Qt应用程序时,它会将输出文件放在主解决方案文件夹中,而不像发布/调试文件夹那样放在Windows上。Qt不会在Linux中的调试/发布文件夹中创建输出文件
这是有问题的,因为有时输出文件需要作为构建过程的一部分运行(例如运行单元测试)。
我有一个想法,这与qmake.conf文件有关,但我不确定该怎么做。
所以我的问题是:
我假设你使用qmake来做实际建筑。为了
# only for unix:
unix {
# in debug mode...
CONFIG(debug, debug|release) {
DESTDIR = debug
}
else {
DESTDIR = release
}
}
显然,这个工作你需要构建调试版本和发布的可执行文件:您可以编辑的项目文件放置在不同的目录输出这样的。关于这个主题的更多信息,可以发现here
干杯
的CONFIG
变量debug_and_release
和debug_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
。
明天要测试这个。我希望这摆脱冗余调试/释放文件夹窗口 – 2015-09-25 03:15:47
这适用于OSX也以“mac”作为条件。使用OSX时,YourProgram.app文件夹将直接放置在“debug”或“release”目录下,而实际的可执行文件将放置在YourProgram.app/Contents/MacOS的较低位置。 – 2011-03-05 02:30:07