ग्रीटिंग्स,सीएमके और जीसीसी का उपयोग कर मैक पर स्थिर पुस्तकालयों का निर्माण?
मेरे पास एक स्थिर लाइब्रेरी है जिसे बाद में मैंने अपने आवेदन से लिंक किया। मेरा विकास पर्यावरण सीएमके, जीसीसी (लिनक्स, मैक), मिनजीडब्लू (विंडोज) है।
मैं लिनक्स और विंडोज पर किसी भी समस्या के बिना स्थैतिक पुस्तकालय संकलित कर सकता हूं। (मैक पर अपने आवेदन में साझा पुस्तकालय भी बना सकता हूं)।
संपादित करें: मैंने पुस्तकालय को साझा पुस्तकालय के रूप में संकलित किया और यह ठीक काम किया !!
मैं 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" किसी भी तरह का निर्माण।
Linking C static library
lib/libcenti.a /usr/bin/ranlib: file:
lib/libcenti.a(crv_in_rgn_to_bnry_img.c.o)
has no symbols /usr/bin/ranlib: file:
lib/libcenti.a(crv_initialize_by_circle.c.o)
has no symbols /usr/bin/ranlib: file:
lib/libcenti.a(crv_initialize_flgs.c.o)
has no symbols /usr/bin/ranlib: file:
lib/libcenti.a(crv_nodal_interval_min_and_max.c.o)
has no symbols /usr/bin/ranlib: file:
lib/libcenti.a(crv_remove_all_nodes.c.o)
has no symbols /usr/bin/ranlib: file:
lib/libcenti.a(crv_reset_nodal_forces.c.o)
has no symbols /usr/bin/ranlib: file:
lib/libcenti.a(crv_set_center_coords.c.o)
has no symbols /usr/bin/ranlib: file:
lib/libcenti.a(crv_set_left_ptch_rgn_pixs.c.o)
has no symbols /usr/bin/ranlib: file:
lib/libcenti.a(crv_set_out_rgn_mean_and_var.c.o)
has no symbols /usr/bin/ranlib: file:
lib/libcenti.a(crv_set_para.c.o) has
no symbols /usr/bin/ranlib: file:
lib/libcenti.a(crv_set_right_ptch_rgn_pixs.c.o)
has no symbols /usr/bin/ranlib: file:
lib/libcenti.a(crv_to_in_rgn_hist.c.o)
has no symbols /usr/bin/ranlib: file:
lib/libcenti.a(crv_to_out_rgn_pixs.c.o)
has no symbols /usr/bin/ranlib: file:
lib/libcenti.a(trnk_initialize_by_circle.c.o)
has no symbols /usr/bin/ranlib: file:
lib/libcenti.a(trnk_initialize_by_image_frame.c.o)
has no symbols /usr/bin/ranlib: file:
lib/libcenti.a(trnk_stk_paint_nodes_and_pixs.c.o)
has no symbols /usr/bin/ranlib: file:
lib/libcenti.a(trnk_stk_to_inner_defl_ordn.c.o)
has no symbols
लेकिन जब मैं अपने आवेदन के साथ पुस्तकालय ऊपर लिंक, यह "अपरिभाषित प्रतीकों" त्रुटियों देता है:
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
किसी भी सुझाव दिए गए? मैक पर स्थैतिक पुस्तकालयों का निर्माण करते समय मुझे कोई विशेष पैरामीटर जोड़ना चाहिए?
संपादित करें: मैंने पुस्तकालय को साझा पुस्तकालय के रूप में संकलित किया और यह ठीक काम किया !!
साझा साझा लाइब्रेरी के रूप में संकलित करके इसे भी ठीक किया गया। –
* "लिंकिंग चरण के दौरान, यह निम्नलिखित त्रुटियों को देता है और किसी भी तरह" libcenti.a "बनाता है .... कोई प्रतीक नहीं है" * - वे त्रुटियां नहीं हैं; वे [बेकार] चेतावनियां हैं। आपको संभवतः ओएस एक्स पर 'libtool' और' ar' और 'ranlib'' का उपयोग नहीं करना चाहिए। मैंने सोचा कि इसे दबाने का विकल्प था, लेकिन मुझे इस समय यह नहीं मिल रहा है। यह भी देखें [सामग्री की मौन "तालिका खाली है" चेतावनी] (https://stackoverflow.com/q/27602998/608639)। – jww