C++ and v7.3.2

Started by DEValmost 23 years ago5 messagesgeneral
Jump to latest
#1DEV
dev@umpa-us.com

Hello all,

I have just started working with C++ and am trying to get it to compile an
app for PGSQL and well it has errors:
I am using the test files that came with 7.2.1 (they did not work with
7.2.1 either)

any thoughts?

c++ testlibpq0.cc -o test.app
In file included from pgsql/libpq++.h:27,
from testlibpq0.cc:18:
pgsql/libpq++/pgconnection.h:86: ISO C++ forbids declaration of
`string' with no type
pgsql/libpq++/pgconnection.h:86: parse error before `('
In file included from pgsql/libpq++.h:29,
from testlibpq0.cc:18:
pgsql/libpq++/pglobject.h:42: syntax error before `;'
pgsql/libpq++/pglobject.h:61: syntax error before `('
In file included from pgsql/libpq++.h:31,
from testlibpq0.cc:18:
pgsql/libpq++/pgcursordb.h:53: `string' was not declared in this scope
pgsql/libpq++/pgcursordb.h:53: parse error before `,'
pgsql/libpq++/pgcursordb.h:62: `string' was not declared in this scope
pgsql/libpq++/pgcursordb.h:62: parse error before `)'
pgsql/libpq++/pgcursordb.h:65: `string' was not declared in this scope
pgsql/libpq++/pgcursordb.h:65: parse error before `,'
pgsql/libpq++/pgcursordb.h:68: syntax error before `;'
pgsql/libpq++/pgcursordb.h: In method `const char *PgCursor::Cursor ()
const':
pgsql/libpq++/pgcursordb.h:59: `pgCursor' undeclared (first use this
function)
pgsql/libpq++/pgcursordb.h:59: (Each undeclared identifier is reported
only once for each function it appears in.)
pgsql/libpq++/pgcursordb.h: In method `void PgCursor::Cursor (...)':
pgsql/libpq++/pgcursordb.h:62: `cursor' undeclared (first use this
function)
testlibpq0.cc: In function `int main ()':
testlibpq0.cc:34: `string' undeclared (first use this function)
testlibpq0.cc:34: parse error before `;'
testlibpq0.cc:40: `buf' undeclared (first use this function)
testlibpq0.cc:40: `getline' undeclared (first use this function)

#2Erwin Rol
erwin@muffin.org
In reply to: DEV (#1)
Re: C++ and v7.3.2

It looks like a namespace problem. string is in the std namespace, and
just using "string" will not work unless you have a "using namespace
std;" or by putting "std::string" instead of "string".

- Erwin

On Thu, 2003-04-24 at 19:14, Dev wrote:

Hello all,

I have just started working with C++ and am trying to get it to compile an
app for PGSQL and well it has errors:
I am using the test files that came with 7.2.1 (they did not work with
7.2.1 either)

any thoughts?

c++ testlibpq0.cc -o test.app
In file included from pgsql/libpq++.h:27,
from testlibpq0.cc:18:
pgsql/libpq++/pgconnection.h:86: ISO C++ forbids declaration of
`string' with no type
pgsql/libpq++/pgconnection.h:86: parse error before `('
In file included from pgsql/libpq++.h:29,
from testlibpq0.cc:18:
pgsql/libpq++/pglobject.h:42: syntax error before `;'
pgsql/libpq++/pglobject.h:61: syntax error before `('
In file included from pgsql/libpq++.h:31,
from testlibpq0.cc:18:
pgsql/libpq++/pgcursordb.h:53: `string' was not declared in this scope
pgsql/libpq++/pgcursordb.h:53: parse error before `,'
pgsql/libpq++/pgcursordb.h:62: `string' was not declared in this scope
pgsql/libpq++/pgcursordb.h:62: parse error before `)'
pgsql/libpq++/pgcursordb.h:65: `string' was not declared in this scope
pgsql/libpq++/pgcursordb.h:65: parse error before `,'
pgsql/libpq++/pgcursordb.h:68: syntax error before `;'
pgsql/libpq++/pgcursordb.h: In method `const char *PgCursor::Cursor ()
const':
pgsql/libpq++/pgcursordb.h:59: `pgCursor' undeclared (first use this
function)
pgsql/libpq++/pgcursordb.h:59: (Each undeclared identifier is reported
only once for each function it appears in.)
pgsql/libpq++/pgcursordb.h: In method `void PgCursor::Cursor (...)':
pgsql/libpq++/pgcursordb.h:62: `cursor' undeclared (first use this
function)
testlibpq0.cc: In function `int main ()':
testlibpq0.cc:34: `string' undeclared (first use this function)
testlibpq0.cc:34: parse error before `;'
testlibpq0.cc:40: `buf' undeclared (first use this function)
testlibpq0.cc:40: `getline' undeclared (first use this function)

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly

--
Dipl.-Ing. Erwin Rol - Software Engineering
tel: +49-(0)8024-479377 gsm: +49-(0)171-6929198 fax: +49-(0)8024-479379
email: erwin@muffin.org

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Erwin Rol (#2)
Re: C++ and v7.3.2

Erwin Rol <erwin@muffin.org> writes:

It looks like a namespace problem. string is in the std namespace, and
just using "string" will not work unless you have a "using namespace
std;" or by putting "std::string" instead of "string".

It might be a good idea to look at libpqxx from gborg.postgresql.org.
libpq++ is old, crufty, and not really being maintained (it's not part
of the standard PG distribution as of 7.3).

regards, tom lane

#4Dennis Gearon
gearond@cvc.net
In reply to: Tom Lane (#3)
Re: C++ and v7.3.2

I thought namespace::standard was well, standard, default?

Tom Lane wrote:

Show quoted text

Erwin Rol <erwin@muffin.org> writes:

It looks like a namespace problem. string is in the std namespace, and
just using "string" will not work unless you have a "using namespace
std;" or by putting "std::string" instead of "string".

It might be a good idea to look at libpqxx from gborg.postgresql.org.
libpq++ is old, crufty, and not really being maintained (it's not part
of the standard PG distribution as of 7.3).

regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

#5Tom Lane
tgl@sss.pgh.pa.us
In reply to: Dennis Gearon (#4)
Re: C++ and v7.3.2

Dennis Gearon <gearond@cvc.net> writes:

I thought namespace::standard was well, standard, default?

The C++ "standard" was a moving target for so long that it's not funny.

libpq++ made some effort to handle several generations of the spec,
but it may not handle the latest. Or it may be configured wrong for
the OP's compiler; I dunno where he got the libpq++ sources from, but
it sure wasn't an official Postgres 7.3 release ...

regards, tom lane