Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

mysql कनेक्टर cpp सेंटोस 6 में अपरिभाषित संदर्भ

आपका वर्तमान बिल्ड कमांड:g++ demo.cpp -o demo लिंकर ld . के लिए जानकारी शामिल नहीं है किन पुस्तकालयों के खिलाफ जोड़ा जाना चाहिए। उसके कारण आपको एक लिंकर त्रुटि मिलती है:

इस दस्तावेज़ में लिखा है कि किन पुस्तकालयों की आवश्यकता है।

आप या तो स्थिर या गतिशील रूप से लिंक कर सकते हैं।
स्थिर लिंकिंग इसका मतलब है कि आपका निष्पादन योग्य उन मशीनों पर चलेगा जिनमें आवश्यक पुस्तकालय स्थापित नहीं हैं क्योंकि पुस्तकालय निष्पादन योग्य के अंदर हैं। यह निष्पादन योग्य को आकार में भी बड़ा बनाता है। MySQL Connector/C++ के मामले में पुस्तकालय हैं:libmysqlcppconn-static.a और libmysqlclient.a
डायनामिक लिंकिंग इसका मतलब है कि आपके निष्पादन योग्य को उस मशीन पर पुस्तकालयों को ढूंढना होगा जहां इसे चलाना चाहिए। आवश्यक पुस्तकालय है:libmysqlcppconn.so

डायनेमिक लिंकिंग . के साथ आपका बिल्ड कमांड (libmysqlcppconn.so का उपयोग करके) ) इस तरह दिखना चाहिए:

g++ demo.cpp -o demo -lmysqlcppconn

इसके अलावा -l . के बीच अंतर पर ध्यान दें और -L जैसा कि बताया गया है यहाँ SO पर या यहां आधिकारिक gcc लिंकर दस्तावेज़ में :

आपको पथ की आवश्यकता नहीं है (-L ) यहाँ क्योंकि पुस्तकालयों को /usr/local/lib . के अंतर्गत होना चाहिए जो कि डिफ़ॉल्ट संस्थापन है और पहले से ही लिंकर के खोज पथ में है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xampp; अपाचे पोर्ट 80 व्यस्त

  2. Mysql_fetch_array और mysql_fetch_row के बीच अंतर?

  3. MySQL:एक तालिका में दो विदेशी कुंजियाँ दूसरी तालिका का संदर्भ देती हैं

  4. प्रथम और अंतिम नाम से अद्वितीय उपयोगकर्ता नाम उत्पन्न करें?

  5. योग के साथ अद्यतन तालिका