【问题标题】:$QTDIR refers to wrong directory in Visual Studio$QTDIR 引用了 Visual Studio 中的错误目录
【发布时间】:2017-10-03 15:05:42
【问题描述】:

我刚遇到一个问题,又花了几个小时。
我有一个依赖于Qt 的项目。我刚刚安装了 Qt 5.9.1 但出现错误:

E1696   cannot open source file "QDir"  Logger  \Logger.cpp 3   
E1696   cannot open source file "QFile" Logger  \Logger.cpp 4   
E1696   cannot open source file "QString"   Logger  \Logger.cpp 5   
E1696   cannot open source file "QStringBuilder"    Logger  \Logger.cpp 6   
E1696   cannot open source file "QDateTime" Logger  c\Logger.cpp    7   
E1696   cannot open source file "QMessageBox"   Logger  \Logger.cpp 8   
E1696   cannot open source file "QApplication"  Logger  \Logger.cpp 9   

仍然出现。为什么?

我尝试在属性页面中使用$(QTDIR) 变量将包含文件夹添加到项目中。但它不是指我安装Qt的目录。

【问题讨论】:

    标签: c++ visual-studio qt


    【解决方案1】:

    来自QTDIR not found error building project in MSVC (this answer) 我知道问题出在*.vcxproj.user


    解决方案 1。

    在解决方案中的所有*.vcxproj.user 中查找所有<QTDIR> 键的值。 例如正则表达式

    <QTDIR>.*</QTDIR>
    

    并将它们替换为适当的 Qt 目录,即:

    <QTDIR>C:\\Qt\\Qt5.9.1\\5.9.1\\msvc2017_64</QTDIR>
    

    double \\ 用于正则表达式。 写一个\如果没有使用正则表达式


    解决方案 2. 便携性更好

    手动设置环境变量QTDIR(针对当前用户):

    > setx QTDIR "C:\Qt\Qt5.9.1\5.9.1\msvc2017_64"
    

    我认为这必须由 Qt Installer 完成。 你也可能喜欢setx /m
    接下来,您应该删除或重命名 &lt;QTDIR&gt; 文件中的所有 &lt;QTDIR&gt; 键。或者完全删除这些文件。

    完成。享受建设项目。可能需要重新启动 MS VS。


    注意

    *.vcxproj.user 文件不应转移到其他机器/环境,它们属于当前系统配置。因此,将它们从您的存储库中排除,即使用 .gitignore


    可能的解决方案 3

    使用 Qt Visual Studio 工具 扩展。我没有对此进行测试。

    【讨论】:

    • Qt Visual Studio 工具对其设计器非常有用。它同样适用于 VS2019
    【解决方案2】:

    我遇到了类似的问题,起初以为是在属性中(来自物业经理),但事实证明不是。对我来说,这成功了:

    -在解决方案资源管理器中右键单击您的相关项目,然后选择“卸载项目”。删除属于您的项目的 *.user 文件。

    -通过在解决方案资源管理器中右键单击该项目再次重新加载该项目。仔细检查项目配置是否是您真正想要的配置(调试、64 位等)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 2011-05-28
      • 2015-02-24
      • 1970-01-01
      • 2011-01-09
      相关资源
      最近更新 更多