在Qt Creator中,当我创建一个新的单元测试项目时,如果项目的完整路径包含空格,它将无法成功构建。Qt创建器单元测试项目
我跟踪到了由qmake生成的makefile的bug。 Makefile包括靠近顶部的一行:
DEFINES = -DUNICODE -DWIN32 -DSRCDIR=\"C:/Users/Smith/Qt Projects/Unit_Tests/\" -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_TESTLIB_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR=\"C:/Users/Smith/Qt Projects/Debug_Unit_Tests\"
中值SRCDIR
和QT_TESTCASE_BUILDDIR
引号用反斜杠转义。如果我从Makefile.Debug
中删除反斜杠,那么项目将成功构建。
显然,我不想每次都手动删除反斜杠。我也想避免一个自定义构建步骤,删除反斜杠。由于qmake有这么多选项,我希望有一些东西我可以放在.pro
文件中解决。
我试过类似DEFINES -= QT_TESTCASE_BUILDDIR
。这不起作用,因为QT_TESTCASE_BUILDDIR
尚未定义。 testlib
显然后来增加了自己的定义。
我使用:
- 的Visual Studio 2010 SP 1
- 的Qt 5.0.2
- Qt Creator的2.7.0
- Windows 7的
什么是最简单的方法摆脱反斜杠?
编辑:这也发生在OSX。
这可能很明显,但是一旦您更改了.prf文件,您将不得不再次为QtCreator运行qmake以查看更新后的QT_TESTCASE_BUILDDIR。 – BKewl