Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-58764

moc tool does not quote for path that contains space in it

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: 5.8.0
    • Fix Version/s: 5.9.0 Beta 2
    • Component/s: Build System
    • Labels:
      None
    • Environment:
      MSVC 2015 64bit
    • Commits:
      b2ffc4d0a0c7e498da68851b97963a8b7534847d

      Description

      After I update my Qt from 5.7 to 5.8. I found this problem when building with Qt Creator:

      if you specify your project's building directory to a path that contains with a space,
      like D:\GitRepo\butterfly\main_app_Release and_a_space\

      In Compile Output print this:

      D:\Qt\Qt5.8.0\5.8\msvc2015_64\bin\moc.exe -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DNDEBUG --compiler-flavor=msvc --include D:/GitRepo/butterfly/main_app_Release and_a_space/tmp/moc/moc_predefs.h -ID:/Qt/Qt5.8.0/5.8/msvc2015_64/mkspecs/win32-msvc2015 -ID:/GitRepo/butterfly/main_app -ID:/GitRepo/butterfly/third_party/python/win/lib -ID:/GitRepo/butterfly/third_party/python/win/include -ID:/GitRepo/butterfly/main_app/src/widgets -ID:/Qt/Qt5.8.0/5.8/msvc2015_64/include -ID:/Qt/Qt5.8.0/5.8/msvc2015_64/include/QtWidgets -ID:/Qt/Qt5.8.0/5.8/msvc2015_64/include/QtGui -ID:/Qt/Qt5.8.0/5.8/msvc2015_64/include/QtANGLE -ID:/Qt/Qt5.8.0/5.8/msvc2015_64/include/QtNetwork -ID:/Qt/Qt5.8.0/5.8/msvc2015_64/include/QtCore -I. -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\\shared" -I"C:\Program Files (x86)\Windows Kits\8.1\include\\um" -I"C:\Program Files (x86)\Windows Kits\8.1\include\\winrt" ..\main_app\src\utilities\http_session.h -o tmp\moc\moc_http_session.cpp
      Usage: D:\Qt\Qt5.8.0\5.8\msvc2015_64\bin\moc.exe [options] [header-file] [@option-file]
      Qt Meta Object Compiler version 67 (Qt 5.8.0)
      
      Options:
        -?, -h, --help              Displays this help.
        -v, --version               Displays version information.
        -o <file>                   Write output to file rather than stdout.
        -I <dir>                    Add dir to the include path for header files.
        -F <framework>              Add Mac framework to the include path for header
                                    files.
        -E                          Preprocess only; do not generate meta object
                                    code.
        -D <macro[=def]>            Define macro, with optional definition.
        -U <macro>                  Undefine macro.
        -M <key=value>              Add key/value pair to plugin meta data
        --compiler-flavor <flavor>  Set the compiler flavor: either "msvc" or "unix".
        -i                          Do not generate an #include statement.
        -p <path>                   Path prefix for included file.
        -f <file>                   Force #include <file> (overwrite default).
        -b <file>                   Prepend #include <file> (preserve default
                                    include).
        --include <file>            Parse <file> as an #include before the main
                                    source(s).
        -n <which>                  Do not display notes (-nn) or warnings (-nw).
                                    Compatibility option.
        --no-notes                  Do not display notes.
        --no-warnings               Do not display warnings (implies --no-notes).
        --ignore-option-clashes     Ignore all options that conflict with compilers,
                                    like -pthread conflicting with moc's -p option.
      
      Arguments:
        [header-file]               Header file to read from, otherwise stdin.
        [@option-file]              Read additional options from option-file.
      moc: Too many input files specified: 'and_a_space/tmp/moc/moc_predefs.h' '..\main_app\src\utilities\http_session.h'
      

      the path is been break into different parameters. so i have to choose to move my project to a non-space-contained path

        Attachments

        For Gerrit Dashboard: QTBUG-58764
        # Subject Branch Project Status CR V

          Activity

            People

            Assignee:
            thiago Thiago Macieira
            Reporter:
            memphiswang Memphis Wang
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes