Сконфигурируйте ceres-solver с помощью CMake и не сможете найти заголовок конфигурации SuiteSparse
Я пытаюсь использовать CMake для настройки Ceres для сборки на моей машине с Windows. У меня есть Suitesparse v4.4.4, собранный на моей машине, и я указал на все соответствующие каталоги и библиотеки. Поэтому я считаю, что SuiteSparse правильно включен в конфигурацию, но я продолжаю получать любопытную ошибку при настройке в CMake:
Не найден заголовок SUITESPARSE_CONFIG (необязательный компонент SuiteSparse).
Найдена библиотека SUITESPARSE_CONFIG: C:/Program Files/ Общие файлы /MSVC/SUITESPARSE/suitesparse-metis-for-windows-1.3.0/build_VS2015/install/lib64/suitesparseconfig.lib
Не найден заголовок UFCONFIG (необязательный компонент SuiteSparse).
- Не удалось найти SuiteSparse - Не удалось найти: заголовок и библиотека SuiteSparse_config (должен присутствовать во всех установках SuiteSparse >= v4) или заголовок UFconfig (должен присутствовать во всех установках SuiteSparse
Найдена библиотека METIS: C:/Program Files/ Общие файлы / MSVC / SUITESPARSE / suitesparse-metis-for-windows-1.3.0 / build_VS2015 / install / lib64 / metis.lib
Found SuiteSparse: TRUE (найдена версия "4.4.4")
- Найден SuiteSparse 4.4.4, сборка с SuiteSparse.
По какой-то причине он говорит, что не может найти заголовок SuiteSparse_CONFIG. Но есть файл с именем SuiteSparse_Config.h, который явно находится в папке include в моих файлах SuiteSparse (на которые я указал в конфигурации CMake). Например, я включил записи SUITESPARSE_INCLUDE_DIR_HINTS, SUITESPARSE_INCLUDE_DIR и SUITESPARSE_CONFIG_HEADER (которые указывают на PATHs и FILEPATH на моем ПК, где находится файл SuiteSparse_config.h):
C: / Файлы программ / Общие файлы /MSVC/SUITESPARSE/suitesparse-metis-for-windows-1.3.0/build_VS2015/install/include/suitesparse/SuiteSparse_config.h
Как показано в первой цитате выше, я могу "сгенерировать" ceres-solver в CMake и открыть проект в Visual Studio. Тем не менее, когда я собираюсь создавать проекты, многие из них не могут быть построены из-за невозможности найти заголовок конфигурации SuiteSparse.
Почему CMake постоянно говорит, что не может найти заголовок SUITESPARSE_CONFIG? Я чувствую, что проблема связана с тем, как этот файл конфигурации идентифицируется в одном из файла CMakeLists.txt (я думаю, в исходных папках SuiteSparse). Однако фактические заголовочные файлы обычно не указываются в исходных файлах CMake. Нужно ли внести какие-либо изменения в файл CMakeLists.txt, чтобы он нашел и использовал файл (ы) заголовка SuiteSparse_config.h?