我正在使用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'文件”
我在做什么错了?
答案 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()
指令将其引入您的项目。