$ QTDIR指的是Visual Studio中的错误目录

时间:2017-10-03 15:05:43

标签: c++ visual-studio qt

我刚刚遇到了一个又花了几个小时的问题 我有一个项目取决于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)变量将include文件夹添加到项目中。但它不是指我安装Qt的目录。

2 个答案:

答案 0 :(得分:3)

QTDIR not found error building project in MSVCthis answer)我知道问题出在*.vcxproj.user

解决方案1。

在解决方案中的所有<QTDIR>中查找*.vcxproj.user个键的所有值。 例如,使用regexp

<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
接下来,您应删除或重命名<QTDIR>个文件中的所有*.vcxproj.user个密钥。或者删除这些文件。

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

注意

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

可能的解决方案3

使用 Qt Visual Studio工具扩展程序。我没有测试过这个。

答案 1 :(得分:0)

我遇到了类似的问题,一开始认为它属于物业(来自物业经理),但事实证明并非如此。对我来说,这就是诀窍:

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

- 通过在解决方案资源管理器中右键单击该项目,再次删除该项目。仔细检查项目配置是否是您真正想要的(Debug,64 Bit等)