PDA

View Full Version : How to compile the odbc drivers?



rainspider
11th November 2009, 10:59
I want to compile odbc drivers for qt,But give me some errors.
step 1:
Open the Visual Studio command prompt and cd the directory of "C:\Qt\4.6.0-msvc\src\plugins\sqldrivers\odbc".
step 2:
do qmake
step 3:
do nmake.

In the step 3,give some errors.
[ LINK : fatal error LNK1104: can't open file“..\..\..\..\plugins\sqldrivers\qsqlodb
cd.lib”
NMAKE : fatal error U1077: “"C:\Program Files\Microsoft Visual Studio 9.0\VC\BI
N\link.EXE"”: return “0x450”
Stop.
NMAKE : fatal error U1077: “"C:\Program Files\Microsoft Visual Studio 9.0\VC\BI
N\nmake.exe"”: return “0x2”
Stop.]

When i add path of "C:\Qt\4.6.0-msvc\plugins\sqldrivers" .
give this errors
[ link /LIBPATH:"c:\Qt\4.6.0-msvc\lib" /LIBPATH:"c:\Qt\4.6.0-msvc\lib" /NO
LOGO /DEBUG /MANIFEST /MANIFESTFILE:"tmp\obj\debug_shared\qsqlodbcd.intermediate
.manifest" /VERSION:4.60 /OUT:..\..\..\..\plugins\sqldrivers\qsqlodbcd.lib @C:\D
OCUME~1\ADMINI~1\LOCALS~1\Temp\nm238.tmp
NMAKE : fatal error U1077: “"C:\Program Files\Microsoft Visual Studio 9.0\VC\BI
N\link.EXE"”: return “0xc0000135”
Stop.
NMAKE : fatal error U1077: “"C:\Program Files\Microsoft Visual Studio 9.0\VC\BI
N\nmake.exe"”: return “0x2”]

spirit
11th November 2009, 11:31
you should specify path for includes and libs and then build plugin.

rainspider
11th November 2009, 13:15
Thanks,i will make attempt immediately.

rainspider
11th November 2009, 13:47
I add some directory to the path,but it Still failed.
eg:

path “C:\Qt\4.6.0-msvc\src\sql\drivers\odbc” %path%
path “C:\Qt\4.6.0-msvc\src\plugins\sqldrivers\odbc” %path%
path “C:\Qt\4.6.0-msvc\lib” %path%
path “C:\Qt\4.6.0-msvc\include” %path%

What‘s path or directory need to be add?Or,How do it? Thanks !:p

spirit
11th November 2009, 13:53
the settings should look like this


@SET QTDIR=D:\develop\qt-4.5.2-vs2008
@SET QMAKESPEC=win32-msvc2008

@SET PATH=%QTDIR%\bin;%PATH%
@SET INCLUDE=%QTDIR%\include;%INCLUDE%
@SET LIB=%QTDIR%\lib;%LIB%

rainspider
11th November 2009, 14:20
I'm very sorry.It can't still field.:crying:
the step is:


1.Open cmd
2.Do the command of list:
cd C:\Qt\4.6.0-msvc\src\plugins\sqldrivers\odbc

%comspec% /k ""C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"" x86
@SET QTDIR=C:\Qt\4.6.0-msvc
@SET QMAKESPEC=win32-msvc2008

@SET PATH=%QTDIR%\bin;%PATH%
@SET INCLUDE=%QTDIR%\include;%INCLUDE%
@SET LIB=%QTDIR%\lib;%LIB%

@SET LIB=%QTDIR%\plugins\sqldrivers;%LIB%

@SET INCLUDE=%QTDIR%\src\sql\drivers\odbc;%INCLUDE%
@SET INCLUDE=%QTDIR%\src\sql\kernel;%INCLUDE%
@SET INCLUDE=%QTDIR%\src\plugins\sqldrivers\odbc;%INCLU DE%
3.qmake
4.nmake
[you should specify path for includes and libs and then build plugin.]
Can you tell me what's path need to be add?

spirit
11th November 2009, 14:29
these variables should be enough:


@SET QTDIR=C:\Qt\4.6.0-msvc
@SET QMAKESPEC=win32-msvc2008

@SET PATH=%QTDIR%\bin;%PATH%
@SET INCLUDE=%QTDIR%\include;%INCLUDE%
@SET LIB=%QTDIR%\lib;%LIB%

rainspider
11th November 2009, 14:42
@SET QTDIR=C:\Qt\4.6.0-msvc
@SET QMAKESPEC=win32-msvc2008

@SET PATH=%QTDIR%\bin;%PATH%
@SET INCLUDE=%QTDIR%\include;%INCLUDE%
@SET LIB=%QTDIR%\lib;%LIB%

C:\Qt\4.6.0-msvc\src\plugins\sqldrivers\odbc>qmake

C:\Qt\4.6.0-msvc\src\plugins\sqldrivers\odbc>nmake

"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe" -f Makef
ile.Debug all

link /LIBPATH:"c:\Qt\4.6.0-msvc\lib" /LIBPATH:"c:\Qt\4.6.0-msvc\lib" /NO
LOGO /DEBUG /MANIFEST /MANIFESTFILE:"tmp\obj\debug_shared\qsqlodbcd.intermediate
.manifest" /VERSION:4.60 /OUT:..\..\..\..\plugins\sqldrivers\qsqlodbcd.lib @C:\D
OCUME~1\ADMINI~1\LOCALS~1\Temp\nm380.tmp
Creating library ..\..\..\..\plugins\sqldrivers\qsqlodbcd.lib and Object ..\..\..\..\pl
ugins\sqldrivers\qsqlodbcd.exp
LINK : fatal error LNK1104: Can‘t open fiel “..\..\..\..\plugins\sqldrivers\qsqlodb
cd.lib”
NMAKE : fatal error U1077: “"C:\Program Files\Microsoft Visual Studio 9.0\VC\BI
N\link.EXE"”: return “0x450”
Stop.
NMAKE : fatal error U1077: “"C:\Program Files\Microsoft Visual Studio 9.0\VC\BI
N\nmake.exe"”: return “0x2”
Stop.

C:\Qt\4.6.0-msvc\src\plugins\sqldrivers\odbc>:crying:
Can you tell me what's wrong,Please.

spirit
11th November 2009, 14:53
do next


nmake clean
qmake
nmake

in directory with plugin.
btw, did you compile Qt by yourself or you just installed it from exe-file?

rainspider
11th November 2009, 15:38
My Qt is compiled from Opensource code-package.And use this configuration:

configure -debug-and-release -platform win32-msvc2008 -no-qt3support -no-openssl -no-phonon -webkit -opensource -nomake demos -nomake examples

I Found that has not compiled sql driver for ODBC,Only sql driver for sqlite.
So I want to compile odbc driver.

The strange thing is that, it can compiled successfully On my Desktop PC.
But on my Laptop, it is field.Why?:crying:

Now is midnight In our country.so i must going to sleep.:)

Waste your time for my questions,I'm very very sorry!
Thank you for everything.
I will retry it tomorrow,Thanks.

spirit
11th November 2009, 15:41
nmake clean, qmake, nmake in plugin's directory should help.