Не могу найти файлы заголовков assimp - PullRequest
0 голосов
/ 14 декабря 2018

Я использую CMake, и у меня есть несколько внешних библиотек, которые я использую.

В папке

`ext/
 - eigen
 - glm
 - glfw
`

Все это прекрасно компилируется, и я могу правильно запустить свой код.Однако я установил assimp, клонировав репо в ext/, и обновил свой файл 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 голосов
/ 29 декабря 2018

Если вы хотите включить заголовочные файлы assimp, вам нужно будет включить "${CMAKE_CURRENT_SOURCE_DIR}/ext/assimp/include", поскольку они находятся в хранилище.Так как assimp не является библиотекой только для заголовков - в отличие от других, которые вы перечислили - вам также нужно будет ссылаться на нее.Ваш компилятор жалуется на config.h, потому что он на самом деле не существует (он должен быть в assimp/include/. Если вы проверите там, вы увидите, что есть config.h.in, который используется для генерации config.h миссии.файл на этапе сборки, поэтому у вас его нет.

Если вы хотите добавить источники assimp в свой проект, вы можете использовать add_subdirectory(ext/assimp). Из-за его размера вы можете установить assimp каксистемная зависимость, а затем используйте директиву find_package(), чтобы включить ее в свой проект.

...