在 Qt Creator 中,当我创建一个新的单元测试项目时,如果项目的完整路径包含空格,它将不会成功构建。
我已将错误跟踪到 qmake 生成的 makefile。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
显然稍后添加了自己的定义。
我在用:
- 视觉工作室 2010 SP 1
- Qt 5.0.2
- Qt 创作者 2.7.0
- Windows 7的
摆脱反斜杠的最简单方法是什么?
编辑:这也发生在 OSX 上。