c++ - PostgreSQL सी++ के माध्यम से एक्सेस करें-इंटरफ़ेस(लिंकर त्रुटि)




linker (2)

इस लिंक को देखें: http://www.askyb.com/cpp/c-postgresql-example/

इससे पता चलता है कि आपको अतिरिक्त निर्भरता के साथ-साथ अतिरिक्त शामिल और लिब फ़ोल्डर्स सेट करना होगा।

ऐसा न मानने पर, उस पद्धति का नाम दोहराएं जिसे आप कॉल करने का प्रयास कर रहे हैं और अतिरिक्त शामिल और लिब सेटिंग्स में पथ को दोबारा जांचें; कुछ खास बनाने के लिए उन्हें कॉपी और एक्सप्लोरर से चिपकाएं।

आप यह भी जांचने के लिए depend.exe का उपयोग करना चाह सकते हैं कि DLL वास्तव में आपके द्वारा किए जाने वाले विधि को निर्यात कर रहा है

दृश्य स्टूडियो 2012 अंतिम और पोस्टग्रेएसक्यूएल 9.2 64 बिट का उपयोग कर I मैं निम्नलिखित सेटिंग्स के साथ एक पूरी तरह से नई परियोजना की स्थापना:

अतिरिक्त फ़ोल्डर शामिल हैं: "सी: \ प्रोग्राम फ़ाइलें \ PostgreSQL \ 9.2 \ शामिल \"

अतिरिक्त लिब्स फ़ोल्डर: "सी: \ प्रोग्राम फ़ाइलें \ PostgreSQL \ 9.2 \ lib \"

Im " libpq.lib " के खिलाफ लिंक कर रहा है

मेरी समस्या इस तरह दिखती है:

#include <iostream>
using namespace std;

#include <libpq-fe.h>

int main() {

    PGconn *psql = PQconnectdb("hostaddr = '127.0.0.1' port = '' dbname = 'fwaggle' user = 'fwaggle' password = 'password' connect_timeout = '10'");
    /* init connection */
    if (!psql) {

    }

    std::cin.get();
    return 0;
}

परिणाम: "त्रुटि एलएनके2019: फ़ंक्शन" _main "में प्रतीक" _PQconnectdb "के रूप में उल्लिखित किया गया है। मैं इस लिंकर त्रुटि से छुटकारा पा रहा हूं, मैं क्या कर रहा हूँ गलत?


ठीक है मुझे पता चला कि क्या हो रहा था:

लिखित के रूप में मैंने PostgreSQL 64 बिट इंस्टॉल किया है लेकिन मैंने 32 बिट परियोजना को PostgreSQL से 64-बिट लिपिपीड के खिलाफ संकलन और लिंक करने की कोशिश की। WIN32 से x64 जोड़ने से सफल होने के बाद सफल रहा।





linker