On Mon, 26 Jan 2009, darthsidpal wrote:

> --- In [email protected], Saifi Khan <saifi.k...@...> wrote:
> >
> I visited #qt on irc.freenode.
> One of the guys there said he faced the same problem on 64-ubuntu.
> He's not sure what caused the problem, but he was able to resolve it
> by using libiodbc2 instead of unixodbc. 
> I don't know about the difference between the two though :( (neither
> did he). 
> 
> Siddharth Pal
> 

On my system, there are two large code bases that compile with
ODBC dependency, Erlang OTP and Qt. I resolved the conflict
between the different ODBC library dependency by specifying

# make DRIVER_MANAGER=unixodbc build

So as things currently stand, i'm standardized on 'unixODBC'
library. 

However, their outrageous macro hackery that mixes typedef with
conditional #ifdef and 64-bit in their penchant to support 
Windows, UNIX, Linux and everything in between is bound to fail
in some cases.

Hence the very useful comment in sqltypes.h

/*
 * may fail in some cases, but what else can we do ?
 */

Failed compilation is collateral damage :(

My current solution is:
 [Thanks to the C/asm guru Namita]

 Since i'm on a 32-bit system (and not a 64-bit system)
 put this line before the #if stuff in code

 #undef ODBCINT64


This gave a clean compile, however i'm yet to write code to test
it out !


thanks
Saifi.

Reply via email to