找不到assimp头文件

时间:2018-12-14 11:59:54

标签: c++ cmake assimp

我正在使用CMake,并且我正在使用许多外部库。

在文件夹下

`ext/
 - eigen
 - glm
 - glfw
`

所有这些都可以正常编译,并且我可以正确运行我的代码。但是,我通过将存储库克隆到ext/中来安装assimp,并将CMakeLists.txt更新为

### Add src to the include directories
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/src")

### Include Eigen for linear algebra
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/ext/eigen")

### Include glm for other math
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/ext/glm")

include_directories("${CMAKE_CURRENT_SOURCE_DIR}/ext/assimp") # new line

当我专心写作

#include <assimp/Importer.hpp>

VSCode没有抱怨。但是,当我编译它时,我得到

“严重错误:找不到'assimp / Importer.hpp'文件”

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

如果要包括assimp头文件,则需要包括"${CMAKE_CURRENT_SOURCE_DIR}/ext/assimp/include",因为这是它们在存储库中的位置。由于assimp不是仅标头的库(与您列出的其他库不同),因此您也需要针对它进行链接。您的编译器抱怨config.h,因为它实际上不存在(它应该在assimp/include/中。如果检查那里,就会看到有一个config.h.in用于生成任务配置。 .h文件在构建步骤中出现,所以这就是为什么没有它。

如果您想将assimp源添加到您的项目中,可以使用add_subdirectory(ext/assimp)。由于它的大小,您可能需要将assimp安装为系统依赖项,然后使用find_package()指令将其引入您的项目。