logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

Re: libpq: Newbie help w/ data type conversions on: msg#00000

Subject: Re: libpq: Newbie help w/ data type conversions on
Marvin Bellamy <marvin.bellamy@xxxxxxxxxxxxxx> wrote:

> I'm building for MSVC 7.1.3088, VS .NET 2003 on Win XP.  I copied the
> compiler headers and pointed the common file attributes to my PostgreSQL
> install and I get this error:
>
> [snip]
> ..\src\util.cxx(60) : warning C4244: 'initializing' : conversion from
> 'double' to 'const float', possible loss of data
> ..\src\util.cxx(60) : error C2124: divide or mod by zero

Ah, that's a bit of workaround code for compilers that don't have proper
ways of producing NANs.  The sample configuration headers for your
compiler don't say yet whether those proper ways are available, so the
code assumes the worst and reverts to divide-by-zero (strictly at compile
time, mind you, so neither the warning or the error is really appropriate)
to generate NaNs.

Easiest fix: define the PQXX_HAVE_QUIET_NAN preprocessor macro.  If that
doesn't work (i.e. if the compiler doesn't provide quiet_NaN()), define
PQXX_HAVE_NAN instead.  I can release an update over the coming days that
fixes this, once I'm sure about what works.


> I was able to build libpqxx with cygwin (which probably uses gcc), but
> it produced libpqxx.la and libpqxx.a.  Since my IDE is Visual Studio
> .NET 2003, I'm not sure if I can use them in a MSVC app (mind you I'm
> still learning about native development as a Java developer).  This was

Correct on both counts: cygwin uses gcc, and you can't link object files
or libraries (they're actually almost the same thing) from one C++
compiler with those of another.  The latter is one of the more annoying
aspects of life with C++, and there are complex but good reasons for this
restruction--although thankfully some standardization is happening.


Jeroen



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



<Prev in Thread] Current Thread [Next in Thread>