Subject Build Firebird with Visual C++ Toolkit 2003
Author Pierre Y.
Adrianos, Daniel,

> I'm sending a patch to compile Firebird HEAD using Microsoft Visual
> C++ Toolkit 2003.

Thank you very much,

> I removed instclient from make_all.bat, because it isn't in Firebird2.sln.
> I don't know if I break the msvc7 build.
>
> Instructions:
>
> Install Visual C++ Toolkit 2003 into 'C:\Program Files\Microsoft
> Visual
> C++ Toolkit 2003'

OK.

> Install .NET Framework 1.1 into 'C:\Program Files\Microsoft.NET\SDK'

OK.

> Install Platform SDK into 'C:\Program Files\Microsoft SDK'

OK.

> Download impdef.cpp from
> http://www.cygwin.com/ml/cygwin/1997-08/msg00523/impdef.cpp

OK.

> and build it.

Seems to be OK. I ran the "Set Windows XP 32-bit Build Environment (Debug)"
shortcut. The I moved to C:\Program Files\Microsoft Visual C++ Toolkit 2003
and ran vcvars32.bat.

I moved back to impdef.cpp path and ran :
cl impdef.cpp /MD

It produced an impdef.exe. I copied it to

C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin

> C:
> cd "\Program Files\Microsoft Visual C++ Toolkit 2003\lib"
> copy "\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib\libcmtd*"
> copy "\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib\msvc*"
> copy libcpmt.lib libcpmtd.lib
> impdef msvcprt.def ..\bin\msvcp71.dll

C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib>impdef msvcprt.def
..\bin\msvcp71.dll Couldn't open file with CreateFile()

I gave a look at impdef.cpp source code and saw it cannot take two
parameters so I did :

Impdef ..\bin\msvcp71.dll > msvcprt.def

And I got a text file not really looking like a .def file.

> link /lib /out:msvcprt.lib /def:msvcprt.def

I get theses errors. The msvcprt.lib file is only 2Ko

msvcprt.def(2767) : warning LNK4017:
?toupper@?$ctype@_W@std@@QBEPB_WPA_WPB_W@Z
statement not supported for the target platform; ignored
msvcprt.def(2768) : warning LNK4017: ?toupper@?$ctype@_W@std@@QBE_W_W@Z
statemen
t not supported for the target platform; ignored
msvcprt.def(2769) : warning LNK4017:
?transform@?$collate@D@std@@QBE?AV?$basic_s
tring@DU?$char_traits@D@std@@V?$allocator@D@2@@2@PBD0@Z statement not
supported
for the target platform; ignored


Bonus question : How would I apply the diff file ?

Thank you very much, regards,

Pierre Y.