Приветствую всех,
У меня есть статическая библиотека, которую я позже связываю со своим приложением.Моя среда разработки - CMake, GCC (Linux, Mac), MinGW (Windows).
Я могу без проблем скомпилировать статическую библиотеку в Linux и Windows.(Я даже могу создавать разделяемые библиотеки в своем приложении на Mac).
РЕДАКТИРОВАТЬ: я скомпилировал библиотеку как библиотеку SHARED, и она работала нормально !!
У меня естьсконфигурировал CMakeFile следующим образом для построения статической библиотеки:
add_library(centi STATIC ${base_srcs} ${crv_srcs} ${node_srcs} ${trnk_srcs} ${defl_srcs} ${infl_srcs} ${track_srcs} ${callback_srcs} ${extract_srcs})
На этапе компоновки он выдает следующие ошибки и каким-то образом создает "libcenti.a".Приведенная выше библиотека с моим приложением выдает ошибки «Неопределенные символы»:
Undefined symbols:
"_setActiveDrawingTrunk", referenced
from:
RzPluginAlgoCnty::initCallBacks()
in RzPluginAlgoCnty.cpp.o
RzPluginAlgoCnty::clearCallBacks()
in RzPluginAlgoCnty.cpp.o
_trnk_trck_ordn in libcenti.a(trnk_trck_ordn.c.o)
_trnk_trck_ordn in libcenti.a(trnk_trck_ordn.c.o)
_trnk_trck_ordn in libcenti.a(trnk_trck_ordn.c.o)
_trnk_trck_ordn in libcenti.a(trnk_trck_ordn.c.o)
_bg_trnk_trck_ordn in libcenti.a(trnk_trck_ordn.c.o)
_bg_trnk_trck_ordn in libcenti.a(trnk_trck_ordn.c.o)
_extract_contour_update_tracking in
libcenti.a(extract_contour_update_tracking.c.o)
_extract_contour_update_tracking in
libcenti.a(extract_contour_update_tracking.c.o)
"_updateCurveUICallBack", referenced
from:
RzPluginAlgoCnty::initCallBacks()
in RzPluginAlgoCnty.cpp.o
RzPluginAlgoCnty::initBulkCallBacks()
in RzPluginAlgoCnty.cpp.o
RzPluginAlgoCnty::clearCallBacks()
in RzPluginAlgoCnty.cpp.o
_bg_trnk_trck_ordn in libcenti.a(trnk_trck_ordn.c.o)
_bg_trnk_trck_ordn in libcenti.a(trnk_trck_ordn.c.o)
_crv_update_1time in libcenti.a(crv_update_ordn.c.o)
_crv_update_1time in libcenti.a(crv_update_ordn.c.o) ld:
symbol(s) not found
Есть советы?Стоит ли добавлять какие-либо специальные параметры при сборке статических библиотек на Mac?
РЕДАКТИРОВАТЬ: я скомпилировал библиотеку как библиотеку SHARED, и она работала нормально !!