2010-03-25 10 views
5

मैं स्रोत से एक ओपन सोर्स प्रोजेक्ट का निर्माण कर रहा हूँ,#include <mysql.h> काम कैसे करें?

और यह <mysql.h> शामिल करने की जरूरत:

#if USE_MYSQL 
#include <mysql.h> 
#endif 

और compilor रिपोर्ट:

mysql.h no such file or directory 

MySQL अभी तक एक और बड़ा होता है ओपन सोर्स प्रोजेक्ट, इसे काम करने के लिए मुझे क्या करने की ज़रूरत है?

+1

' #include "mysql.h" करता है? वहाँ के बीच सहित के बीच मतभेद रहे हैं '' < > और '" "' (यदि फ़ाइल कोड उसी निर्देशिका में है संकलित किया जा रहा, या कहीं और पर निर्भर करता है - यह मेरे लिए एक समय हो गया है और मैं विवरण भूल जाते हैं, उसे ढूंढने) । साथ ही, आपके MySQL स्रोत का पथ क्या है और क्या यह पथ आपके निर्माण पथ का हिस्सा है? – FrustratedWithFormsDesigner

+1

संस्करण? ऑपरेटिंग सिस्टम? संकलक? वातावरण? –

+0

विंडोज, ग्रहण CDT – symfony

उत्तर

1

क्या आपने शामिल कथन को फ़ाइल के लिए एक पूर्ण पथ देने का प्रयास किया था?

+0

का उपयोग करने और आप क्या करेंगे आप अपने विकास के वातावरण बदलने के लिए जब? –

+1

@klez: फ़ाइल के पूर्ण पथ के साथ परीक्षण * यह देखने के लिए एक परीक्षण के रूप में वैध है कि यह काम करता है या नहीं। बेशक यह उस तरह से नहीं छोड़ा जाना चाहिए ... – FrustratedWithFormsDesigner

+0

@FrustratedWithFormsDesigner हाँ, कि मैं क्या :-) –

6

यह आपके निर्माण विधियों पर पूरी तरह से निर्भर होगा, चाहे वह विजुअल स्टूडियो, ग्रहण इत्यादि जैसे आईडीई का उपयोग कर रहा हो या यदि आप शेल स्क्रिप्ट्स और कमांड लाइनों का उपयोग * निक्स में कर रहे हैं।

आपको यह सुनिश्चित करना होगा कि वह फ़ाइल (mysql.h) आपके 'शामिल' पथ में मौजूद है।

उदाहरण के लिए, दृश्य स्टूडियो में, आप में जाना होगा:

प्रोजेक्ट गुण -> विन्यास गुण -> C/C++ -> जनरल -> अतिरिक्त निर्देशिकाएँ

शामिल हैं और निर्देशिका के लिए शामिल हैं जो आप 'mysql.h' सहेजा गया है।

फिर, अपने लिंकर गुणों के लिए, चरणों को दोहराएँ और संबंधित DLL/उदारीकरण फ़ाइल आपके अतिरिक्त लाइब्रेरी निर्देशिकाएँ में पथ शामिल

यह आपके परिवेश के आधार पर भिन्न होगा, इसलिए अधिक जानकारी सटीक कदम के लिए की जरूरत होगी -by-चरणों। लेकिन यह वास्तविक समस्या की व्याख्या करनी चाहिए।

+0

मेरे पास न तो 'mysql.h' है और न ही' mysql.lib' है, मुझे इसे कहां डाउनलोड करना चाहिए? – symfony

+8

@ सिम्फनी: ईपीआईसी FAIL XD आप एक फ़ाइल को शामिल करने की अपेक्षा कैसे करते हैं जिसमें आपके पास नहीं है? –

+1

आज़माएं: http://www.google.com/search?q=download+mysql+source – FrustratedWithFormsDesigner

1
#include "path-spec" 
#include <path-spec> 

दोनों वाक्यविन्यास रूप निर्दिष्ट फ़ाइल की संपूर्ण सामग्री द्वारा उस निर्देश के प्रतिस्थापन का कारण बनते हैं। दोनों रूपों के बीच का अंतर वह क्रम है जिसमें प्रीप्रोसेसर हेडर फाइलों की खोज करता है जब पथ अपूर्ण रूप से निर्दिष्ट होता है।

#include "path-spec" पूर्वप्रक्रमक के लिए (# शामिल) शामिल है कि किसी भी फाइल उस फ़ाइल की निर्देशिका में फ़ाइल कि # संयुक्त विवरण शामिल है की एक ही निर्देशिका में फ़ाइलों को शामिल करें, और फिर देखने के लिए निर्देश देता है। प्रीप्रोसेसर तब/I कंपाइलर विकल्प द्वारा निर्दिष्ट पथ के साथ खोज करता है, फिर INCLUDE पर्यावरण चर द्वारा निर्दिष्ट पथ के साथ।

#include <path-spec> फ़ाइलों में शामिल हैं पहले पथ/मैं संकलक विकल्प द्वारा निर्दिष्ट के साथ, तब, जब कमांड लाइन से संकलन, पथ द्वारा निर्दिष्ट के साथ वातावरण चर शामिल के लिए खोज करने के लिए पूर्वप्रक्रमक निर्देश देता है।

मैं क्या संकलक आप उपयोग कर रहे पता नहीं है, लेकिन यह आप जोड़ने के लिए अपने भी शामिल है और संकलन करने के लिए libs आवश्यकता हो सकती है:

g++ bla.cpp -I/usr/include/mysql -L/usr/lib/mysql -lmysqlclient_r 
+1

असल में, इसका आई-विकल्प के साथ कुछ लेना देना नहीं है - जब तक कि आप जीसीसी पर न हों। यह कहने के लिए और अधिक सही होगा कि यह संकलक को वर्तमान फ़ाइल के सापेक्ष पथ का उपयोग करने के बजाय हेडर की तलाश करने के लिए कहता है। तो, -1 पूरी तरह से सही नहीं होने के लिए, लेकिन ओपी की जानकारी की जानकारी प्राप्त करने के लिए +1। –

6

मेरे लिए, Ubuntu 12.04 पर, मैं इस में शामिल हैं का उपयोग करने के लिए आवश्यक

#include <mysql/mysql.h> 
+0

यह मेरे लिए काम किया। धन्यवाद एमआरके ... – Hakim

0

जी ++ -ओ Programname $ (mysql_config --cflags) Programfile।सीपीपी $ (mysql_config --libs)

लिनक्स में काम कर देता है। `काम

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