- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
所以我正在 QtCreator 中开发一个 C++ 项目,它一直运行良好。该项目包括一些外部库,例如 DDS 解决方案,还包括一个名为“SimConnect”的库。我之前在图书馆工作过,一切正常,但突然间我无法再编译我的项目了。
我正在使用带有 MSVC13 32 位编译器的 Qt5.6.0。
C:\dev\simNET\application\P3DHook.h:13: Fehler: C1083: Cannot open include file: 'SimConnect.h': No such file or directory
我知道这是一个编译器问题,所以我重新检查了 .pro 文件,看它是否正确地向该库添加了包含和 lib 路径。在我看来这看起来不错(是的,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..\..\..\simNET\plugins\CreatorPlugin -I. -I..\..\..\simNET\application -I..\..\..\_programme\FastRTPS1.5\include -I..\..\..\..\Qt\5.6\msvc2013\include -I..\..\..\..\Qt\5.6\msvc2013\include\QtWidgets -I..\..\..\..\Qt\5.6\msvc2013\include\QtGui -I..\..\..\..\Qt\5.6\msvc2013\include\QtANGLE -I..\..\..\..\Qt\5.6\msvc2013\include\QtCore -Irelease -I..\..\..\..\Qt\5.6\msvc2013\mkspecs\win32-msvc2013 -Forelease\ @C:\Users\crolk\AppData\Local\Temp\CreatorPluginPublisher.obj.2256.47.jom
CreatorPluginPublisher.cpp
C:\Qt\5.6\msvc2013\bin\moc.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. ..\..\..\simNET\plugins\CreatorPlugin\CreatorPluginPublisher.h -o release\moc_CreatorPluginPublisher.cpp
..\..\..\simNET\application\P3DHook.h(13) : fatal error C1083: Cannot open include file: 'SimConnect.h': No such file or directory
看起来它添加了其他包含路径(例如我的 DDS 库的路径)但它根本不会添加 SimConnect 路径,无论我多久重新运行一次 qmake。
有人知道问题出在哪里吗?
编辑:我注意到构建实际上什至没有失败。它成功构建了我的项目并创建了可执行文件。出于某种原因,QtCreator 仍会认为构建失败并向我显示该错误。在没有 QtCreator 的情况下手动运行我的可执行文件工作正常...
最佳答案
解决方案如下:
我的应用程序由 3 个子项目组成:主图形用户界面应用程序 + 2 个插件,其中包括一些主要图形用户界面的源代码。现在错误发生在主应用程序的源代码中,但恰好该源代码恰好包含在其中一个插件中。在那个插件 .pro 文件中,没有给出外部 SimConnect 库的路径,这就是问题所在。
所以...如果您包含另一个项目的源代码,请确保还包含该子项目所需的所有依赖项。因为否则可能会导致错误消息被误解。
关于c++ - QtCreator 中的 "Fatal Error C1083: Cannot open include file",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57618371/
我是一名优秀的程序员,十分优秀!