Postgresql 9.3.25 문서화 | ||||
---|---|---|---|---|
이전 | up | 31 장.스포츠 토토 결과-C 라이브러리 | 다음 |
빌드 (즉, 컴파일 및 링크)를 사용하는 프로그램을 사용하여스포츠 토토 결과다음을 모두 수행해야합니다 것들:
포함스포츠 토토 결과-fe.h헤더 파일:
#include <스포츠 토토 결과-fe.h
그렇게하지 못하면 일반적으로 오류가 발생합니다. 컴파일러의 메시지와 유사한 :
foo.c : 함수`main ': foo.c : 34 :`pgconn '선고되지 않은 (이 기능의 첫 번째 사용) foo.c : 35 :`pgresult '선고되지 않은 (이 기능에서 처음 사용) foo.c : 54 :`connection_bad '선고되지 않은 (이 기능에서 처음 사용) foo.c : 68 :`pgres_command_ok '선언되지 않은 (이 기능에서 처음 사용) foo.c : 95 :`pgres_tuples_ok '노출되지 않은 (이 기능에서 처음 사용)
컴파일러를 디렉토리에 가리 킵니다.PostgreSQL헤더 파일이 설치되었습니다 공급-i디렉토리컴파일러 옵션. (안에 일부 경우 컴파일러가 해당 디렉토리를 조사합니다. 기본값 이므로이 옵션을 생략 할 수 있습니다.) 예를 들어, 컴파일 명령 줄은 다음과 같이 보일 수 있습니다.
CC -C -I/USR/local/pgsql/include testprog.c
makefiles를 사용하는 경우 옵션을 추가하십시오CPPFLAGS변수 :
cppflags += -i/usr/local/pgsql/conture
프로그램을 편집 할 가능성이있는 경우 다른 사용자는 디렉토리 위치를 하드 코딩해서는 안됩니다. 그렇게. 대신 유틸리티를 실행할 수 있습니다PG_CONFIG헤더 파일의 위치를 찾으려면 로컬 시스템 :
$PG_CONFIG -includedir/usr/local/include
당신이있는 경우pkg-config설치, 당신 대신 실행할 수 있습니다 :
$pkg-config--cflags 스포츠 토토 결과-i/usr/local/include
여기에는 이미가 포함됩니다.-i경로 앞에서.
컴파일러에 올바른 옵션을 지정하지 않음 다음과 같은 오류 메시지가 발생합니다.
test스포츠 토토 결과.c : 8 : 22 : 스포츠 토토 결과-fe.h : 그러한 파일 또는 디렉토리가 없음
최종 프로그램을 연결할 때 옵션을 지정하십시오-lpq그래서스포츠 토토 결과도서관은 물론 도서관을 끌어 당깁니다 옵션-l디렉토리컴파일러를 디렉토리스포츠 토토 결과라이브러리 상주합니다. (다시, 컴파일러는 일부 디렉토리를 검색합니다 기본값.) 최대 이식성을 위해를 넣습니다.-l전 옵션-lpq옵션. 예를 들어:
CC -O TestProg testProg1.o testprog2.o -l/usr/local/pgsql/lib -lpq
를 사용하여 라이브러리 디렉토리를 찾을 수 있습니다PG_CONFIG
$PG_CONFIG ---libdir/usr/local/pgsql/lib
또는 다시 사용pkg-config:
$pkg-config-libs 스포츠 토토 결과-l/usr/local/pgsql/lib -lpq
이것은 전체 옵션을 인쇄하는 것뿐만 아니라 길.
이 영역의 문제를 가리키는 오류 메시지 다음과 같습니다.
test스포츠 토토 결과.o : 함수`main ': test스포츠 토토 결과.o (.text+0x60) :`pqsetdblogin '에 대한 정의되지 않은 참조 test스포츠 토토 결과.o (.text+0x71) :`pqstatus '에 대한 정의되지 않은 참조 test스포츠 토토 결과.o (.text+0xa4) : 'pqerrormessage'에 대한 정의되지 않은 참조
이것은 당신이 잊었다는 것을 의미합니다-lpq.
/usr/bin/ld : 찾을 수 없음 -lpq
이것은 당신이 잊어 버린 것을 의미합니다-l옵션 또는 올바른 디렉토리를 지정하지 않았습니다.
이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
스레드의 동작 프로그램 | up | 예제 프로그램 |