Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2

34.21. Xây kèo bóng đá hom naylibpqChương kèo bóng đá hom nay#

để xây dựng (tức là, biên dịch và liên kết) một chương kèo bóng đá hom nay bằng cách sử dụnglibpqBạn cần phải làm tất cả những điều sau:

  • Bao gồmlibpq-fe.hTệp tiêu đề:

    #include <libpq-fe.h

    Nếu bạn không làm điều đó thì bạn thường sẽ nhận được thông báo lỗi từ kèo bóng đá hom nay biên dịch của mình tương tự như:

    foo.c: trong hàm `chính ':
    foo.c: 34: `pgconn 'không được khai báo (lần đầu tiên sử dụng trong chức năng này)
    foo.c: 35: `pgresult 'không được khai báo (lần đầu tiên sử dụng trong chức năng này)
    foo.c: 54: `Connection_bad 'không được khai báo (lần đầu tiên sử dụng trong chức năng này)
    foo.c: 68: `pgres_command_ok 'không được khai báo (lần đầu tiên sử dụng trong chức năng này)
    foo.c: 95: `pgres_tuples_ok 'không được khai báo (lần đầu tiên sử dụng trong chức năng này)
  • kèo bóng đá hom nay biên dịch của bạn vào thư mục trong đóPostgreSQLkèo bóng đá hom nay tệp tiêu đề đã được cài đặt, bằng cách cung cấp-IThư mụcTùy chọn cho kèo bóng đá hom nay biên dịch của bạn. .

    cc -c -i/usr/local/pgsql/bao gồm testprog.c

    Nếu bạn đang sử dụng Makefiles thì hãy thêm tùy chọn vàocppflagsBiến:

    cppflags += -I/usr/local/pgsql/bao gồm

    Nếu có bất kỳ cơ hội nào mà chương kèo bóng đá hom nay của bạn có thể được biên dịch bởi người dùng khác thì bạn không nên mã hóa vị trí thư mục như thế. Thay vào đó, bạn có thể chạy tiện íchpg_configĐể tìm ra nơi kèo bóng đá hom nay tệp tiêu đề trên hệ thống cục bộ:

    $pg_config -in -includedir/usr/local/bao gồm
    

    Nếu bạn cóPKG-ConfigĐã cài đặt, bạn có thể chạy thay thế:

    $pkg-config-cflags libpq-I/usr/local/bao gồm
    

    Lưu ý rằng điều này sẽ bao gồm-ITrước đường dẫn.

    Không chỉ định tùy chọn chính xác cho kèo bóng đá hom nay biên dịch sẽ dẫn đến một thông báo lỗi như:

    testlibpq.c: 8: 22: libpq-fe.h: không có tệp hoặc thư mục đó
  • Khi liên kết chương kèo bóng đá hom nay cuối cùng, chỉ định tùy chọn-LPQsao cholibpqThư viện được kéo vào, cũng như tùy chọn-LThư mụcĐể trỏ kèo bóng đá hom nay biên dịch vào thư mục trong đólibpqThư viện cư trú. (Một lần nữa, kèo bóng đá hom nay biên dịch sẽ tìm kiếm một số thư mục theo mặc định.) Để có tính di động tối đa, hãy đặt-LTùy chọn trước-LPQTùy chọn. Ví dụ:

    14273_14343

    Bạn có thể tìm ra thư mục thư viện bằng cách sử dụngpg_configlà:

    $PG_CONFIG -Libdir/usr/local/pgsql/lib
    

    hoặc sử dụng một lần nữaPKG-Config:

    $PKG-Config-Libs libpq-l/usr/local/pgsql/lib -lpq
    

    Lưu ý một lần nữa rằng điều này in toàn bộ kèo bóng đá hom nay tùy chọn, không chỉ đường dẫn.

    Thông báo lỗi trỏ đến kèo bóng đá hom nay vấn đề trong lĩnh vực này có thể trông giống như sau:

    testlibpq.o: trong hàm `chính ':
    testlibpq.o (.text+0x60): tham chiếu không xác định đến `pqsetdblogin '
    testlibpq.o (.text+0x71): tham chiếu không xác định đến `pqstatus '
    testlibpq.o (.text+0xa4): tham chiếu không xác định đến `pqerrormessage '

    Điều này có nghĩa là bạn quên-LPQ.

    /usr/bin/ld: không thể tìm thấy -lpq

    Điều này có nghĩa là bạn đã quên-LTùy chọn hoặc không chỉ định đúng thư mục.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề tài liệu.