【发布时间】:2013-05-12 17:50:59
【问题描述】:
在 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 显然稍后会添加自己的定义。
我正在使用:
- Visual Studio 2010 SP 1
- Qt 5.0.2
- Qt Creator 2.7.0
- Windows 7
摆脱反斜杠的最简单方法是什么?
编辑: OSX 也会出现这种情况。
【问题讨论】:
标签: qt unit-testing qt-creator qtestlib