2

Debian に postgresql 8.4 をインストールしています。プログラム testlibpq.c をhttp://www.postgresql.org/docs/9.0/interactive/libpq-example.htmlからファイル libpq-fe.h を持つディレクトリに配置しますが、コンパイル後にgcc 私に書いてください

testlibpq.c:(.text+0x4a): undefined reference to `PQconnectdb'
testlibpq.c:(.text+0x5a): undefined reference to `PQstatus'
testlibpq.c:(.text+0x6f): undefined reference to `PQerrorMessage'
testlibpq.c:(.text+0xa9): undefined reference to `PQexec'
testlibpq.c:(.text+0xb9): undefined reference to `PQresultStatus'
testlibpq.c:(.text+0xcf): undefined reference to `PQerrorMessage'
testlibpq.c:(.text+0xf5): undefined reference to `PQclear'
testlibpq.c:(.text+0x10d): undefined reference to `PQclear'
testlibpq.c:(.text+0x121): undefined reference to `PQexec' 

... etc 仕事を正すために私がしなければならないことは何ですか?

4

1 に答える 1

7

PostgreSQL ライブラリをリンクしていないようです。testlibpq.c次のようなものでコンパイルする必要があります。

gcc -o testlibpq testlibpq.c -lpq

-lpqリンカーに PostgreSQL ライブラリにリンクするように指示しますPQconnectdb

ライブラリとヘッダーの場所もコンパイラに伝える必要がある場合があります。

gcc -o testlibpq -I$(pg_config --includedir) -L$(pg_config --libdir) -o testlibpq $(pg_config --libs)
于 2011-09-19T10:24:16.410 に答える