[pgsql-jp: 28164] cygwin で libpq++ が undefined reference

Ichiro Hironao i.hironao @ gem.bekkoame.ne.jp
2002年 12月 3日 (火) 13:47:34 JST


はじめまして。広直と申します。

cygwin上でlibpq++を使いたいのですが、
 [pgsql-jp 13310]
 [pgsql-jp 13311]
をみながら同じことを行ったところ、
undefined referenceのエラーが出てしまいます。(cygwinの問題?)
どなたかアドバイス頂けないでしょうか。

--
開発環境
  Windows XP Home Edition
  Cygwin 1.3.15
  postgres (PostgreSQL) 7.2.3
  gcc version 3.2 20020818 (prerelease)

ソース
  #include <string>
  #include <iostream>
  #include "libpq++.h"

  int main() {
    PgDatabase db("test");
    return 0;
  }

実行結果
  $ g++ -I/usr/include/ -L/lib test_libpq++.cc -lpq++
  cc1plus: warning: changing search order for system directory "/usr/include"
  cc1plus: warning:   as it has already been specified as a non-system directory
  /cygdrive/c/WINDOWS/TEMP/cc1Q63A8.o(.text$_ZN10PgDatabaseC1EPKc+0x14):test_libpq++.cc: undefined reference to `PgConnection::PgConnection[not-in-charge](char 
const*)'
  /cygdrive/c/WINDOWS/TEMP/cc1Q63A8.o(.text$_ZN10PgDatabaseD1Ev+0x16):test_libpq++.cc: undefined reference to `PgConnection::~PgConnection [not-in-charge]()'
  /cygdrive/c/WINDOWS/TEMP/cc1Q63A8.o(.text$_ZN10PgDatabaseD0Ev+0x16):test_libpq++.cc: undefined reference to `PgConnection::~PgConnection [not-in-charge]()'
  collect2: ld returned 1 exit status

libpq++を使いたい理由
  PHPで作成したプログラムが非常に遅かったので、cで高速化しようと思ったが
  PHPソースが可変長配列の塊だった為、gcc、STL、libpq++を急いで勉強中。
--

よろしくお願い致します。
---------
Ichiro Hironao / i.hironao @ gem.bekkoame.ne.jp



pgsql-jp メーリングリストの案内