我刚刚遇到了一个又花了几个小时的问题
我有一个项目取决于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的目录。
答案 0 :(得分:3)
从QTDIR not found error building project in MSVC(this answer)我知道问题出在*.vcxproj.user
。
在解决方案中的所有<QTDIR>
中查找*.vcxproj.user
个键的所有值。
例如,使用regexp
<QTDIR>.*</QTDIR>
并用适当的Qt目录替换它们,即:
<QTDIR>C:\\Qt\\Qt5.9.1\\5.9.1\\msvc2017_64</QTDIR>
double \\
用于正则表达式。如果没有使用正则表达式,则编写单个 \
。
手动设置环境变量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
使用 Qt Visual Studio工具扩展程序。我没有测试过这个。
答案 1 :(得分:0)
我遇到了类似的问题,一开始认为它属于物业(来自物业经理),但事实证明并非如此。对我来说,这就是诀窍:
- 右键单击解决方案资源管理器中的相关项目,然后选择“卸载项目”。删除属于您项目的* .user文件。
- 通过在解决方案资源管理器中右键单击该项目,再次删除该项目。仔细检查项目配置是否是您真正想要的(Debug,64 Bit等)