包含存在的文件的编译器错误

Compiler error on including a file that it is there

我在尝试让 Assimp 在我正在使用的引擎中工作时遇到问题。我试图将它添加为子模块并使用 premake 构建它,并且我设法将它正确地作为一个项目包含在解决方案中,但是我遇到了一个我无法理解的错误。

错误是 assimp 中的某些文件给我一个“无法包含文件”错误,这很奇怪,因为文件就在那里,下图显示了它:

我检查了项目的工作目录,它在'vendor/Assimp'中(检查图像),所以它应该可以包含该文件。我假设它一定是 include 目录中的东西,但我无法找到它具体是什么......有人有任何线索吗?谢谢!

我在这种情况下遇到的具体错误是下一个:

Error (active)  E1696   cannot open source file "contrib/zip/src/zip.h" Assimp  C:\Users\lucho.suaya\Documents\GitHub\Kaimos\KaimosEngine\vendor\Assimp\codeMF\D3MFExporter.cpp   61

Severity    Code    Description Project File    Line    Suppression State
Error   C1083   Cannot open include file: 'contrib/zip/src/zip.h': No such file or directory    Assimp  C:\Users\lucho.suaya\Documents\GitHub\Kaimos\KaimosEngine\vendor\Assimp\codeMF\D3MFExporter.cpp   61  

我在 Assimp 项目的 premake 文件中添加的包含目录是下一个:

includedirs
    {
        "include",
        "code",
        "code/Common",
        "code/PostProcessing",
        "code/AssetLib",
        "contrib/irrXML",
        "contrib/rapidjson/include",
        "contrib/unzip"
    }

然后我有另一个引擎项目的预制文件,我在其中编写了下一个(关于 assimp):

IncludeDir["Assimp"] = "%{wks.location}/KaimosEngine/vendor/Assimp/include"
include "KaimosEngine/vendor/Assimp"   -- Includes Assimp Premake File

includedirs { "%{IncludeDir.Assimp}" }
links { "Assimp" }

通过在项目中包含许多我没有包含的文件

解决了这个问题