Để xây dựng (tức là, biên dịch và liên kết) một chương kèo chấp bóng đá hôm 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.h
Tệ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 chấp bóng đá hôm nay biên dịch của mình tương tự như:
foo.c: trong chức năng `chính ':
kèo chấp bóng đá hôm nay biên dịch của bạn vào thư mục trong đóPostgreSQLkèo chấp bóng đá hôm nay tệp tiêu đề đã được cài đặt, bằng cách cung cấp-I
Tùy chọn cho kèo chấp bóng đá hôm nay biên dịch của bạn. .Thư mục
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àocppflags
Biế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 chấp bóng đá hôm 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 chấp bóng đá hôm 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-I
Trước đường dẫn.
Không chỉ định tùy chọn chính xác cho kèo chấp bóng đá hôm 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 chấp bóng đá hôm nay cuối cùng, chỉ định tùy chọn-LPQ
sao cholibpqThư viện được kéo vào, cũng như tùy chọn-L
Để trỏ kèo chấp bóng đá hôm nay biên dịch vào thư mục trong đólibpqThư viện cư trú. (Một lần nữa, kèo chấp bóng đá hôm 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 đặtThư mục
-L
Tùy chọn trước-LPQ
Tùy chọn. Ví dụ:
14302_14372
Bạn có thể tìm ra thư mục thư viện bằng cách sử dụngpg_config
là:
$
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 việc in kèo chấp bóng đá hôm nay tùy chọn đầy đủ, không chỉ đường dẫn.
Thông báo lỗi trỏ đến kèo chấp bóng đá hôm 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 ':
Đ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-L
15487_15536
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ớpMẫu nàyĐể báo cáo vấn đề tài liệu.