वर्तमान में, मेरे पास C ++ में एक परियोजना है, जहां मुझे एक mysql डेटाबेस प्राप्त करना है और सारणी के लिए पूछना है। मैं समझता हूं कि अब मुझे mysql पुस्तकालय का आयात करना होगा।
इसलिए मैं इस साइट पर जाकर ऐसा करता हूं: MySQL मैक OSX 10.7 (64 बिट)
अब जब मैंने फ़ाइलों को सफलतापूर्वक डाउनलोड कर लिया हैऔर फ़ोल्डर में शामिल फ़ोल्डर और पुस्तकालयों को आयात किया, मुझे यह त्रुटि mysql.driver.h फ़ाइल में मिली है, जिसे मैंने अभी हाल ही में डाउनलोड किए गए फ़ोल्डर में बाकी mysql फ़ाइलों के साथ आयात किया है ...
#include <boost/scoped_ptr.hpp> // "boost/scoped_ptr.hpp" file not found
तो यह मुझे बता रहा है कि यह टेम्पर्ड हेडर फ़ाइल नहीं मिली ...
क्या मुझे अब बूस्ट लाइब्रेरी डाउनलोड करने की आवश्यकता है? मैंने अपनी परियोजना में BOOST का आयात और आयात किया, लेकिन इसने मुझे और अधिक त्रुटियां दीं ...
किसी को भी पहले इस मुद्दे में भाग गया या मदद कर सकता है? :) मैं बहुत सराहना करता हूँ!
संपादित करें
मैंने mySQL वेबपेज के एक फोरम पर भी पढ़ा और देखा कि मुझे लिंकर झंडे और हेडर / लाइब्रेरी सर्च पाथ जोड़ने की आवश्यकता होगी? मैंने ऐसा किया लेकिन कुछ भी मदद नहीं की :(
Header Search Paths - /usr/local/mysql/include
Library Search Paths - /usr/local/mysql/lib
Other Linker Flags -lz -lm -lmysqlclient
उत्तर:
जवाब के लिए 0 № 1The प्रलेखन स्पष्ट रूप से राज्यों को बढ़ावा देने के स्रोत से MySQL संबंधक के निर्माण के लिए आवश्यक है
के रूप में MySQL कनेक्टर/C 1.1.0, बूस्ट C लायब्रेरीज़ 1.34.0 या नए स्थापित किया जाना चाहिए ।बूस्ट केवल कनेक्टर बनाने के लिए आवश्यक है,
एक बार जब आप स्थापित बूस्ट है, बस इसकी स्थापना स्थान को इंगित
एक बार बूस्ट स्थापित है, बिल्ड सिस्टम बताएं जहां बूस्ट फ़ाइलें परिभाषित कर रहे है BOOST_ROOT: स्ट्रिंग विकल्प. यह किया जा सकता है जब आप CMake आह्वान । उदाहरण के लिए:
शेल > cmake. -DBOOST_ROOT: स्ट्रिंग =/usr/local/boost_1_40_0
उत्तर № 2 के लिए 1
मैं एक नौसिखिया हूं और mysql के लिए Xcode के तहत काम करने के लिए सी कनेक्टर हो रही पर एक कठिन समय था ।ये काम करने के लिए आवश्यक कदम हैं:
- MySQL सी कनेक्टर dmg पैकेज डाउनलोड करें और इसे स्थापित करें.इस पैकेज में स्थापित करता है
/usr/local/mysql-connector...
. उस फ़ोल्डर का नाम माइस्कल में बदलें. (के क्रम में खोजक में / usr फ़ोल्डर देखने के लिए जाओ मेनू पर क्लिक करें और फिर जाओ पर फ़ोल्डर में एक बार वहाँ टाइप करें/usr
।) - MySQL C कनेक्टर बाइनरी डाउनलोड करें। फ़ाइल को डबल क्लिक करके इसे अनकॉम्प्रेस करें.एक बार फ़ाइल uncompresses, में mysklCPP नाम का एक फ़ोल्डर बनाएँ
/usr/local/
(अब आप एक फ़ोल्डर mysKl और mysklCPP नाम होगा).अब फ़ोल्डर्स की प्रतिलिपि बनाएँ/include
तथा/lib
असंपीड़ित सी कनेक्टर फ़ोल्डर से mysQPP फ़ोल्डर तुम सिर्फ बनाया करने के लिए. - डाउनलोड की गई फ़ाइल boost.org.Uncompress से बूस्ट लाइब्रेरी डाउनलोड करें और बूस्ट निर्देशिका की प्रतिलिपि बनाएँ
/usr/local/
. (अब आप होना चाहिए /myskl /mysklCPP / बूस्ट निर्देशिका यहाँ. वहाँ अतिरिक्त सिस्टम फ़ोल्डर हो सकता है उन्हें हटा दें.
अब XCODE पर अपनी परियोजना को खोलने के लिए और निर्माण सेटिंग्स में निम्नलिखित करते हैं:
- अन्य लिंकर FLAGS के लिए देखो, डबल क्लिक करें और निम्न जोड़ें:
-lz -lm -lmysqlcppconn-static
(यह एक स्थिर संदर्भ और एक बड़ा निष्पादन योग्य बनाता है, यदि आप गतिशील रूप से लिंक करना चाहते हैं आप प्रकार की जरूरत है-lz -lm -lmysqlcppconn
लेकिन आप फ़ाइल के निष्पादन निर्देशिका में गतिशील पुस्तकालय की प्रतिलिपि बनाना होगा।अन्य LINKER FLAGS के अंतर्गत सभी विकल्पों में जोड़ें. - HEADER SEARCH PATHS के लिए देखें, डबल क्लिक करें और निम्न जोड़ें
/usr/local/mysqlCPP/include
,/usr/local/mysql/include
तथा/usr/local/ all
गैर-पुनरावर्ती जोड़ा जाना चाहिए। सभी आदानों डीबग, रिलीज, किसी भी वास्तुकला, आदि के लिए टाइप करने के लिए मत भूलना - LIBRARY खोज पथ के लिए देखो, डबल क्लिक करें और निम्न जोड़ें:
/usr/local/mysql/lib
तथा/usr/local/mysqlCPP/lib
. सभी आदानों डीबग, रिलीज, किसी भी वास्तुकला, आदि के लिए टाइप करने के लिए मत भूलनाअब आप दोनों स्थापित कनेक्टर-सी और कनेक्टर-C है। - C मानक लाइब्रेरी देखें और libstdc (GNU C मानक लाइब्रेरी) चुनें
अब आप सेट और सी कार्यक्रमों को संकलित करने के लिए तैयार किया जाना चाहिए।यदि आप इसके बजाय C कनेक्टर का उपयोग करना चाहते हैं तो आप अन्य LINKER FLAGS करने के लिए परिवर्तित करना चाहिए: -lm -lz -lmysqlclient
. बस mysql.com पर नमूनों में से किसी के साथ प्रयास करें और दोनों कनेक्टर्स काम करना चाहिए.