Первый target_sources
должен быть
target_include_directories(gps_lib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src)
Кажется, он не может найти определение loc_t
, как определено в gps.h
,
таким образом, строка выше сообщит цели каталог для включения для поиска.
Более того, последняя строка должна быть
target_link_libraries(${PROJECT_NAME} ${LIBM_LIBRARIES} gps_lib)
Нет переменной ${gps_lib}
, gps_lib
- имя цели.
Обновление из-за редактирования OP
Я не уверен, что вы изменили примеры, но исходный код примера, на который вы ссылаетесь, не включает math.h
, следовательно, математическая библиотека должна использоваться как зависимость только для цели gps_lib
только
target_link_libraries(gps_lib PUBLIC ${LIBM_LIBRARIES})