Правильный способ создания и импорта libical
Возможно, мне не хватает общего понимания того, как мне следует создавать такой проект, как libical. Я пытаюсь построить это и добавить в свой основной проект.
Прочитав инструкции по установке, я выполнил эти команды в клонированной папке libical:
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/my/project -DICAL_BUILD_DOCS=false
make
Затем были созданы коды в папке сборки. Я скопировал эту папку сборки в свой проект, добавил весь исходный код и заголовок в папку «src» в CMakeLists.txt следующим образом:
set(LIBICAL_SRCS
src/libical/icalderivedparameter.c
src/libical/icalderivedproperty.c
src/libical/icalderivedvalue.c
src/libical/icalrestriction.c
)
set(LIBICALGLIB_SRCS
src/libical-glib/i-cal-array.c
src/libical-glib/i-cal-attach.c
src/libical-glib/i-cal-comp-iter.c
src/libical-glib/i-cal-component.c
src/libical-glib/i-cal-datetimeperiod.c
src/libical-glib/i-cal-derived-parameter.c
src/libical-glib/i-cal-derived-property.c
src/libical-glib/i-cal-derived-value.c
src/libical-glib/i-cal-duration.c
src/libical-glib/i-cal-enums.c
src/libical-glib/i-cal-error.c
src/libical-glib/i-cal-geo.c
src/libical-glib/i-cal-memory.c
src/libical-glib/i-cal-mime.c
src/libical-glib/i-cal-object.c
src/libical-glib/i-cal-parameter.c
src/libical-glib/i-cal-parser.c
src/libical-glib/i-cal-period.c
src/libical-glib/i-cal-property.c
src/libical-glib/i-cal-recur-iterator.c
src/libical-glib/i-cal-recur.c
src/libical-glib/i-cal-recurrence.c
src/libical-glib/i-cal-reqstat.c
src/libical-glib/i-cal-restriction.c
src/libical-glib/i-cal-time-span.c
src/libical-glib/i-cal-time.c
src/libical-glib/i-cal-timezone.c
src/libical-glib/i-cal-trigger.c
src/libical-glib/i-cal-unknowntokenhandling.c
src/libical-glib/i-cal-value.c
)
set(includedirs
src
)
set(srcs ${LIBICAL_SRCS} ${LIBICALGLIB_SRCS})
idf_component_register(INCLUDE_DIRS ${includedirs} SRCS ${srcs} ) # it is SDK specific
Теперь я сталкиваюсь с ошибками компиляции, такими как:
In file included from /Users/workspace/embedded/blink/components/libical/src/libical/icalderivedproperty.c:23:
/Users/workspace/embedded/blink/components/libical/src/libical/icalderivedproperty.h:23:10: fatal error: icalparameter.h: No such file or directory
#include "icalparameter.h"
^~~~~~~~~~~~~~~~~
Я не мог найтиicalparameter.h
внутри созданной папки. Однако есть файл с очень похожим именем.i-cal-parameter.h
подsrc/libical-glib
.
Теперь мне интересно, правильный ли это способ создания библиотеки и импорта в мой проект. Что такое бойкость? Должен ли я включать только эту папку? Может ли кто-нибудь подсказать мне, как правильно создавать подобные проекты, чтобы импортировать их как библиотеку в другие проекты?