2013-02-13 51 views
8

मुझे सीएमके के साथ एक अजीब समस्या है।सीएमके ने लाइब्रेरी व्यवहार आयात किया

मैं अपनी परियोजना में कर्ल आयात कर रहा हूं, इसलिए मैं आपके लिए CMMELists.txt फ़ाइल का सरलीकृत सारांश लिखता हूं।

ADD_LIBRARY (libcurl साझा आयातित)

SET_PROPERTY

जब मैं CMake चलाने इसके लिए प्रोजेक्ट फ़ाइलें उत्पन्न करता है (संपत्ति IMPORTED_LOCATION ../lib/libcurl.lib libcurl लक्ष्य) एमएस वीसी ++ (लिनक्स के लिए भी)। फिर प्रोजेक्ट फ़ाइल में मुझे कर्ल लाइब्रेरी (libcurl-NOTFOUND) का गलत संदर्भ मिलता है!

अगर मैं स्थिर आयात में मेरी कोड बदलने के लिए:

ADD_LIBRARY (libcurl स्थैतिक आयातित)

SET_PROPERTY (libcurl संपत्ति IMPORTED_LOCATION ../lib/libcurl.lib लक्ष्य)

मुझे ../lib/libcurl.lib का सही संदर्भ मिलता है।

क्या आपको कोई विचार है कि ऐसा क्यों होता है?

बहुत बहुत धन्यवाद!

उत्तर

11

साझा लाइब्रेरी के लिए, IMPORTED_LOCATION को डीएलएल को इंगित करना चाहिए, आयात lib नहीं। documentation देखें। आप IMPORTED_IMPLIB संपत्ति भी सेट कर सकते हैं।

बीटीडब्ल्यू, सीएमके में कर्ल के लिए find package भी है; शायद आप इसका इस्तेमाल कर सकते हैं?

+0

मैंने अभी तक यह कोशिश की है, लेकिन समस्या एक जैसी है। साथ ही, मुझे डीएलएल निर्यात किए गए फ़ंक्शन तक पहुंच प्राप्त करने के लिए LIB फ़ाइल को लिंक करना होगा। :( मैं खोज पैकेज का उपयोग नहीं कर रहा हूं क्योंकि मैं अपने स्रोत पेड़ से भेजे गए libcurl.dll को जोड़ रहा हूं। –

+0

एंग्यू मैंने आपका जवाब अच्छी तरह से पढ़ा है और मैंने IMPORTED_IMPLIB सेट किया है: यह काम नहीं करता !!! बहुत बहुत धन्यवाद! !! –

+1

@ DareDevil73 यदि यह आपके लिए काम करता है, तो जवाब क्यों स्वीकार नहीं करते? इस तरह SO को काम करना चाहिए। – Angew

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^