PostgreSQL: soi kèo bóng đá | |||
---|---|---|---|
prev | UP | kèo bóng đá pháp 31.libpq- C Thư viện | NEXT |
Để xây dựng (tức là, biên dịch và liên kết) một chương kèo bóng đá pháp sử dụnglibpqBạn cần phải làm tất cả kèo bóng đá phápữ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 đá pháp biên dịch của mình tương tự như:
foo.c: trong chức năng `chíkèo bóng đá pháp ': 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 đá pháp biên dịch của bạn vào thư mục trong đóPostgreSQLCác 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 đá pháp 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 đá pháp 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 các 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-Iphía trước đường dẫn.
Không chỉ định tùy chọn chính xác cho kèo bóng đá pháp 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 đá pháp cuối cùng, chỉ định tùy chọn-LPQsao cholibpqThư viện được kéo vào, cũng kèo bóng đá phápư tùy chọn-LThư mụcĐể trỏ kèo bóng đá pháp 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 đá pháp 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ụ:
13571_13639
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 các tùy chọn đầy đủ, không chỉ đường dẫn.
Thông báo lỗi trỏ đến các vấn đề trong lĩkèo bóng đá pháp vực này có thể trông giống kèo bóng đá phápư sau:
testlibpq.o: trong hàm `chíkèo bóng đá pháp ': testlibpq.o (.text+0x60): tham chiếu không xác địkèo bóng đá pháp đến `pqsetdblogin ' testlibpq.o (.text+0x71): tham chiếu không xác địkèo bóng đá pháp đến `pqstatus ' testlibpq.o (.text+0xa4): tham chiếu không xác địkèo bóng đá pháp đế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ỉ địkèo bóng đá pháp thư mục đúng.