【问题标题】:Qt: how to include path with space in proQt:如何在专业版中包含带空格的路径
【发布时间】:2020-10-06 02:29:41
【问题描述】:

平台:Windows 10

Qt 版本:5.15.1

例如,我想在 pro 文件中包含这个路径 C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt

以下是我尝试过的方法:

  1. 使用$$quote():

    INCLUDEPATH += $$quote(C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt)
    
  2. 使用" ":

    INCLUDEPATH += "C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt"
    
  3. 同时使用$$quote" "

    INCLUDEPATH += $$quote("C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt")
    
  4. \\ 更改为/

    INCLUDEPATH += $$quote("C:/Program Files (x86)/Windows Kits/10/Include/10.0.18362.0/ucrt")
    

一切都不好,这是我不断收到的错误:

【问题讨论】:

    标签: c++ path escaping special-characters qt-creator


    【解决方案1】:

    您需要用"" 引用并使用不带$$quote 的正斜杠

    要指定包含空格的路径,请使用空格中描述的技术引用路径。

    win32:INCLUDEPATH += "C:/mylibs/extra headers"
    unix:INCLUDEPATH += "/home/user/extra headers"
    

    INCLUDEPATH

    【讨论】:

      【解决方案2】:

      我在$$shell_quote 上取得了成功

      如:

      $$shell_quote("C:\Program Files\Git\bin\bash.exe") make_version_header.sh
      

      请参阅Qt5 docs for shell_quote

      这是一个工作项目(GitHub 上的一个通过 CI 工作):https://github.com/219-design/qt-qml-project-template-with-ci/blob/22788b05738a/windows.pri#L33

      【讨论】:

        【解决方案3】:

        试试这个:

        INCLUDEPATH += "C:\'Program Files (x86)'\WindowsKits\10\Include\10.0.18362.0\ucrt"
        

        【讨论】:

        • 谢谢,但还是不行。我真的没有看到这个问题的任何线索。 :(
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-13
        • 2011-02-14
        • 2012-02-26
        • 1970-01-01
        • 2011-05-19
        • 2016-12-29
        相关资源
        最近更新 更多