我在.pro文件中有以下内容,我有文件,#include "headerhere".例如: #include "StdAfx.h".但是我得到了一个
错误无法打开包含文件:'StdAfx.h':没有这样的文件或目录.
我是否使用#include "StdAfx.h"或得到相同的错误#include "Shared/StdAfx.h".这非常令人沮丧,除非Qt开始识别我的标题,否则我无法做任何实际的工作.我在网上找不到解决方案.到底是怎么回事?
.pro文件有:
HEADERS += ibproject.h \
Shared/StdAfx.h \
Shared/TwsSocketClientErrors.h \
Shared/TagValue.h \
Shared/shared_ptr.h \
Shared/ScannerSubscription.h \
Shared/OrderState.h \
Shared/Order.h \
Shared/IBString.h \
Shared/HScrollListBox.h \
Shared/Execution.h \
Shared/EWrapper.h \
Shared/EClientSocketBaseImpl.h \
Shared/EClientSocketBase.h \
Shared/EClient.h \
Shared/Contract.h \
Shared/CommonDefs.h \
Shared/CommissionReport.h \
SocketClient/src/EClientSocket.h
ewrappersubclass.h
INCLUDEPATH += $$PWD/SocketClient
DEPENDPATH += $$PWD/SocketClient
Run Code Online (Sandbox Code Playgroud)
编辑:为什么我得到了投票?这是我遇到的合法问题

vit*_*kot 13
我也有同样的问题.原因是我并行使用两台计算机,并且makefile尝试在路径上查找文件,因为它们是在前一个计算机上设置的.但是一切似乎都很好 - 就像你的情况一样,悬停在包含上的工具提示向我显示了正确的路径,同时F2(跟随光标下的符号)导航我到正确的标题.
我认为每次在.pro文件中更改内容时都会重新生成qmake,但显然不是.
只需运行Build-> qmake,就应该修复它.
该文件不在您的包含路径中。
pro 文件的 HEADERS 部分列出了项目所依赖的头文件。如果这些文件在类定义中具有 Q_OBJECT 宏,则它们将被考虑由 moc 处理。将文件添加到 HEADERS 不会将其放入包含搜索路径中。
您还有一个杂散标头(ewrappersubclass.h),因为您忘记转义行尾。
我怀疑其原因是 Windows 区分大小写的问题。编译器区分大小写,但文件系统不区分大小写;或相反亦然。这样你就#include "shared/stdafx.h"当你应该的时候#include "Shared/StdAfx.h"。