지원되는 버전 :현재 (17)16 / 15 / 14 / 13
개발 버전 :Devel
지원되지 않은 버전 :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
이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다현재버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

31.20. 건물토토 캔프로그램

빌드하려면 (즉, 컴파일 및 링크)토토 캔다음 모든 작업을 수행해야합니다.

  • 포함토토 캔-fe.h헤더 파일 :

    #include <토토 캔-fe.h>

    그렇게하지 못하면 일반적으로 컴파일러에서 오류 메시지가 나타납니다.

    foo.c : 함수`main ':
  • 컴파일러를 디렉토리에 가리 킵니다.PostgreSQL헤더 파일이 설치되어-i디렉토리컴파일러 옵션. (경우에 따라 컴파일러는 기본적으로 해당 디렉토리를 살펴 보려면이 옵션을 생략 할 수 있습니다.) 예를 들어, 컴파일 명령 줄은 다음과 같습니다..

    CC -C -I/USR/local/pgsql/include testProg.c

    makefiles를 사용하는 경우 옵션을 추가하십시오CPPFLAGS변수 :

    cppflags += -i/usr/local/pgsql/include

    다른 사용자가 프로그램을 컴파일 할 가능성이 있으면 디렉토리 위치를 하드 코딩해서는 안됩니다. 대신 유틸리티를 실행할 수 있습니다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 ':

    이것은 당신이 잊었다는 것을 의미합니다-lpq.

    /usr/bin/ld : 찾을 수 없음 -lpq

    이것은 당신이 잊어 버린 것을 의미합니다-l옵션이거나 올바른 디렉토리를 지정하지 않았습니다.