В Qt Creator, когда я создаю новый проект Unit Test, он не будет успешно построен, если полный путь к проекту содержит пробел.
Я отследил ошибку до make-файла, созданного qmake. 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 с пакетом обновления 1 (SP1)
- Qt 5.0.2
- Создатель Qt 2.7.0
- Windows 7
Какой самый простой способ избавиться от обратной косой черты?
Редактировать: Это также происходит в OSX.