g ++ проблема с опцией -l и PostgreSQL - PullRequest
0 голосов
/ 06 мая 2010

Я написал простую программу. Вот код:

#include <iostream>
#include <stdio.h>
#include <D:\Program Files\PostgreSQL\8.4\include\libpq-fe.h>
#include <string>


using namespace std;

int main()
{
  PGconn          *conn;
  PGresult        *res;
  int             rec_count;
  int             row;
  int             col;


  cout << "ble ble: " << 8 << endl;

  conn = PQconnectdb("dbname=db_pm host=localhost user=postgres password=postgres");

         if (PQstatus(conn) == CONNECTION_BAD) {
                 puts("We were unable to connect to the database");
                 exit(0);
         }
}

Я пытаюсь соединиться с PostgreSQL. Я компилирую этот код с помощью следующей команды:

gcc -I / "d: \ Program Files \ PostgreSQL \" -L / "d: \ Program Files \ PostgreSQL \ 8.4 \ lib \" -lpq -o firstcpp.o firstcpp.cpp

Эта команда со следующего сайта: http://www.mkyong.com/database/how-to-building-postgresql-libpq-programs/

И когда я его компилирую, я получаю следующую ошибку: / cygnus / cygwin-b20 / H-i586-cygwin32 / i586-cygwin32 / bin / ld: невозможно открыть -lpq: нет такого файла или каталога collect2: ld вернул 1 статус выхода

Кто-нибудь мне помогает?

Difek

1 Ответ

1 голос
/ 07 мая 2010

Вы можете попробовать использовать прямую, а не обратную косую черту. И я понятия не имею о первом слэше. Разве это не должно быть в кавычках? Например -I "/ d: / Program Files / PostgreSQL /"

В любом случае, если вы используете gcc от cygwin, вы также можете попробовать

   -I"/cygdrive/d/Program Files/PostgreSQL"

И я сделал бы то же самое с этим include (libpq-fe) - хотя, очевидно, это работает, ошибка в компоновщике.

...