QtCreator 中的"Fatal Error C1083: Cannot open include file"

"Fatal Error C1083: Cannot open include file" in QtCreator

本文关键字:Cannot open include file C1083 中的 Fatal Error QtCreator      更新时间:2023-10-16

所以我正在QtCreator中做一个C++项目,它一直运行良好。该项目包括一些外部库,例如DDS解决方案,但也包括一个名为"SimConnect"的库。我以前使用过库,一切正常,但突然间我无法再编译我的项目了。

我正在使用带有 MSVC5.6.0 32 位编译器的 Qt13

C:devsimNETapplicationP3DHook.h:13: Fehler: C1083: Cannot open include file: 'SimConnect.h': No such file or directory

我知道这是一个编译器问题,所以我重新检查了 .pro 文件,看看它是否正确地将包含和库路径添加到该库中。在我看来,这看起来不错(是的,SimConnect.h 文件实际上在指定的路径中,我也尝试给它一个绝对路径,但这也没有解决问题(:

win32: LIBS += -L$$PWD/'../../_programme/P3Dv3_SDK/Utilities/SimConnect SDK/lib/' -lSimConnect
INCLUDEPATH += $$PWD/'../../_programme/P3Dv3_SDK/Utilities/SimConnect SDK/Inc'
DEPENDPATH += $$PWD/'../../_programme/P3Dv3_SDK/Utilities/SimConnect SDK/Inc'
win32:!win32-g++: PRE_TARGETDEPS += $$PWD/'../../_programme/P3Dv3_SDK/Utilities/SimConnect SDK/lib/SimConnect.lib'
else:win32-g++: PRE_TARGETDEPS += $$PWD/'../../_programme/P3Dv3_SDK/Utilities/SimConnect SDK/lib/libSimConnect.a'

我还尝试手动重新运行 qmake,并删除了整个构建文件夹,清理了项目并尝试重建它。同样的错误。

因此,接下来我查看了编译控制台,并发现了发生错误的部分:

DNDEBUG -I......simNETpluginsCreatorPlugin -I. -I......simNETapplication -I......_programmeFastRTPS1.5include -I........Qt5.6msvc2013include -I........Qt5.6msvc2013includeQtWidgets -I........Qt5.6msvc2013includeQtGui -I........Qt5.6msvc2013includeQtANGLE -I........Qt5.6msvc2013includeQtCore -Irelease -I........Qt5.6msvc2013mkspecswin32-msvc2013 -Forelease @C:UserscrolkAppDataLocalTempCreatorPluginPublisher.obj.2256.47.jom
CreatorPluginPublisher.cpp
C:Qt5.6msvc2013binmoc.exe -DUNICODE -DWIN32 -DQT_NO_DEBUG -DQT_PLUGIN -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DNDEBUG -D_MSC_VER=1800 -D_WIN32 -IC:/Qt/5.6/msvc2013/mkspecs/win32-msvc2013 -IC:/dev/simNET/plugins/CreatorPlugin -IC:/dev/simNET/application -IC:/dev/_programme/FastRTPS1.5/include -IC:/Qt/5.6/msvc2013/include -IC:/Qt/5.6/msvc2013/include/QtWidgets -IC:/Qt/5.6/msvc2013/include/QtGui -IC:/Qt/5.6/msvc2013/include/QtANGLE -IC:/Qt/5.6/msvc2013/include/QtCore -I. ......simNETpluginsCreatorPluginCreatorPluginPublisher.h -o releasemoc_CreatorPluginPublisher.cpp
......simNETapplicationP3DHook.h(13) : fatal error C1083: Cannot open include file: 'SimConnect.h': No such file or directory

看起来它添加了其他包含路径(例如我的 DDS 库的路径(,但无论我多久重新运行一次 qmake,它都不会添加 SimConnect 路径。

有谁知道问题可能是什么?

编辑: 我注意到构建实际上甚至没有失败。它成功地构建了我的项目并创建了可执行文件。出于某种原因,QtCreator仍然会认为构建失败,并会向我显示该错误。在没有QtCreator的情况下手动运行我的可执行文件工作正常...

解决方案如下:

我的应用程序由 3 个子项目组成:主 gui 应用程序 + 2 个插件,其中包括一些主 gui 的源代码。现在错误发生在主应用程序的源代码中,但恰好该源代码恰好包含在其中一个插件中。在该插件.pro文件中,没有提供外部SimConnect库的路径,这就是问题所在。

所以。。。如果包含来自另一个项目的源代码,请确保还包含该子项目中所需的所有依赖项。因为否则可能会导致误解的错误消息。

也许您的包含路径有一些无法识别的符号。 你的绝对路径是什么?

相关文章: