Skip site navigation (1) Skip section navigation (2)

Re: Compilations failing

From: "Andreas Gidlund" <vaxis(at)hotmail(dot)com>
To: pgsql-interfaces(at)postgresql(dot)org
Subject: Re: Compilations failing
Date: 2006-09-29 12:38:43
Message-ID: BAY103-F36417701FB997960DB9AEFBA180@phx.gbl (view raw, whole thread or download thread mbox)
Lists: pgsql-interfaces
I am getting so frustrated here...

As compiling with the command prompt failed so hard, I went over to compile 
with msys and mingw and actually managed to compile postgres, but it failed 
on compiling a dynamic library of libpxx in the next step.
I have therefore left the ambitions to compile libpqxx for now. So I went on 
with making a project in visual studio and the aim to use only the 
libpq dll I managed to compile in msys. That also failed...

So I have been searching all over the internet to find out how to use libpq 
in VS, but with no luck at all. I am missing a short and easy to follow 
guide. My test program only tries to create a connection object as follows:

	PGconn *conn;
	conn = PQconnectdb("dbname = postgres");

I also have #include "libpq-fe.h" in the beginning. However, I get the 
following two messages when compiling:
error LNK2028: unresolved token (0A00000A) "extern "C" struct pg_conn * 
__clrcall PQconnectdb(char const *)" (?PQconnectdb@@$$J0YMPAUpg_conn@@PBD(at)Z) 
referenced in function "public: __clrcall 
IDBConnection::claPostgreSQL::claPostgreSQL(char *)" 
(??0claPostgreSQL(at)IDBConnection@@$$FQAM(at)PAD@Z)	claPostgreSQL.obj

error LNK2019: unresolved external symbol "extern "C" struct pg_conn * 
__clrcall PQconnectdb(char const *)" (?PQconnectdb@@$$J0YMPAUpg_conn@@PBD(at)Z) 
referenced in function "public: __clrcall 
IDBConnection::claPostgreSQL::claPostgreSQL(char *)" 
(??0claPostgreSQL(at)IDBConnection@@$$FQAM(at)PAD@Z)	claPostgreSQL.obj

Though, it is quite obvious it is at least because there is no reference to 
libpq.dll. I simply don't know how to refer to that file. I also read 
somewhere that I have to include libpqdll.lib, is that true?
Even more spoiling my attempts is that the only compiled file for libpq I 
get while compiling postgres through msys is the libpq.dll file. I found in 
the documentation of 7.4.13 that libpqdll.lib and libpq.lib also should be 
created, but they are not for me... The "make" call doesn't return any 
errors, just that postgres is ready to be installed. Has this been changed 
in v8 or should these files also be created there?

Can someone please help me? I'm soon starting to cry for real...

>From: "Jeroen T. Vermeulen" <jtv(at)xs4all(dot)nl>
>To: "Andreas Gidlund" <vaxis(at)hotmail(dot)com>
>CC: pgsql-interfaces(at)postgresql(dot)org
>Subject: Re: [INTERFACES] Compilations failing
>Date: Wed, 27 Sep 2006 10:23:41 +0700 (ICT)
>On Wed, September 27, 2006 05:41, Andreas Gidlund wrote:
> > I have a problem when compiling libpqxx with the tools from VS.NET 2005
> > for use on Windows XP.
>But the actual errors you run into happen while compiling postgres itself,
>right?  You may want to come over the the libpqxx-general mailing list
>(see ) for help with libpqxx-specific problems.
> > However, after downloading libpqxx, as I wanted to compile and use it, I
> > ran
> > into problems. First, after having creating the common file in the win32
> > folder and when I was to change the paths inside, all three paths did 
> > comply with my installation. First for the path to the source code, I
> > installed by using the msi distribution and hence did not have the 
> > at hand.
>From what I've heard, the Windows installer doesn't install the header
>files for libpq, and those are needed for compiling libpqxx (or any other
>program that uses libpq).  That's why you need the postgres source
>archive.  The paths are a painful obstacle; there just don't seem to be
>any real standards for these things on Windows.
>I guess there really ought to be a separate "development package" of
>postgres for Windows like there is for other systems.  The problem seems
>to be that Windows lacks the necessary compiler standards--a development
>package would have to be compiler-specific.  :-(
>You should be able to get away with compiling just the Release version of
>libpqxx if that's what you want, using the Release version of libpq, and
>just "stealing" the libpq headers from the postgres source tree.  But
>chances are that you'll want to debug your software sometimes, if only
>during development, so it's better to have both Debug and Release versions
>of everything available.

Börjar bilen krångla? Köp en ny


pgsql-interfaces by date

Next:From: Andreas GidlundDate: 2006-10-01 19:36:56
Subject: Re: Compilations failing
Previous:From: erkan kolemenDate: 2006-09-28 18:33:09
Subject: Re: PGExec returns error without any comment

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group