и что это вообще за файл такой? он типа просто для выноса кода в другое место?
Да, именно так. Обычно код выносят в пару cpp и h файлов. Шаблонный код не может компилироваться в отдельном cpp, поэтому cpp и h сливаются в один файл. Не то что бы от имени hpp что-то менялось, его без проблем можно переименовать в h.
Не находит файл скорее всего потому, что в исходном СMake проекте папка include добавляется в пути поиска заголовочных файлов:
#Reed-Solomon/CMakeLists.txt
set(RS_INCLUDE_DIRS ${PROJECT_SOURCE_DIR}/include)
#Reed-Solomon/examples/CMakeLists.txt
include_directories(${RS_INCLUDE_DIRS})
Вам нужно либо исправить
#include "xxx.hpp"
на
#include "include/xxx.hpp"
Либо добавить папку в свойствах проекта
https://support.pixelink.com/support/solutions/art...
Либо использовать оригинальный CMakeLists.txt как файл проекта
https://docs.microsoft.com/ru-ru/cpp/build/cmake-p...