Thread: Build problems with latest CVS (2007-06-03) on MSVC++ Express 2005
Hi everyone, I'm working on building the latest CVS of psqlODBC from CVS using MS Visual C++ Express 2005 and thought you may like some extra feedback on the build process. The instructions in win32-compilation.html were helpful, but I needed to make the following changes: 1. Modify the PostgreSQL installation to include the development headers and MSVC libraries. 2. Open psqlodbc.rc and make the following change on line 10: #include "afxres.h" -> #include "mfc/afxres.h" 3. Copy C:\OpenSSL\lib\VC\ssleay32MT.lib as ssleay32.lib. 3. Pass the MSDTC=no option to nmake. If I try to build without the MSDTC=no option then I get the following error upon compilation: Generating Code... link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm53.tmp Creating library .\Release\psqlodbc35w.lib and object .\Release \psqlodbc35w.exp cl.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm56.tmp pgxalib.cpp link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm57.tmp Creating library .\Release\pgxalib.lib and object .\Release \pgxalib.exp link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm59.tmp msdtc_enlist.obj : error LNK2019: unresolved external symbol _CC_set_autocommit referenced in function "short __cdecl EnlistInDtc_1pipe(struct ConnectionClass_ *,struct ITransaction *,struct ITransactionDispenser *)" (?EnlistInDtc_1pipe@@YAFPAUConnectionClass_@@PAUITransaction@@PAUITransactionDispenser@@@Z) .\Release\pgenlist.dll : fatal error LNK1120: 1 unresolved externals NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8 \VC\BIN\link.exe"' : return code '0x460' Stop. ATB, Mark.
Hi. I'm sorry very late reaction. > Hi everyone, > > I'm working on building the latest CVS of psqlODBC from CVS using MS > Visual C++ Express 2005 and thought you may like some extra feedback on > the build process. The instructions in win32-compilation.html were > helpful, but I needed to make the following changes: Thank you for your work time.!! > > > 1. Modify the PostgreSQL installation to include the development headers > and MSVC libraries. > > 2. Open psqlodbc.rc and make the following change on line 10: > > #include "afxres.h" -> #include "mfc/afxres.h" Ahh, It seems that, as for VC-Express, installation of Platform SDK and a setup of PATH are independently needed. We may be that the setting method needs to be shown. of course, I need to try hard. some suggestion is welcomed. > > 3. Copy C:\OpenSSL\lib\VC\ssleay32MT.lib as ssleay32.lib. Um, It seems that it has caused confusion although it was also another report. I'm always build it by myself. then, It is always stabilized and serves as ssleay32.lib. It seems that it probably originates in the problem of Inoue-san suggested before, which is /MD,/MDd, and /MT,/MTd.... I consider these on the problem which should still be discussed. It is likely to pose a problem also by the PostgreSQL main part. Moreover, we need time to investigate to a slight degree. > > 3. Pass the MSDTC=no option to nmake. > > > If I try to build without the MSDTC=no option then I get the following > error upon compilation: Oh sorry, please let me check again tonight. Thanks! Regards, Hiroshi Saito > > > Generating Code... > link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm53.tmp > Creating library .\Release\psqlodbc35w.lib and object .\Release > \psqlodbc35w.exp > cl.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm56.tmp pgxalib.cpp > link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm57.tmp > Creating library .\Release\pgxalib.lib and object .\Release > \pgxalib.exp > link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm59.tmp > msdtc_enlist.obj : error LNK2019: unresolved external symbol > _CC_set_autocommit > referenced in function "short __cdecl EnlistInDtc_1pipe(struct > ConnectionClass_ *,struct ITransaction *,struct ITransactionDispenser > *)" > (?EnlistInDtc_1pipe@@YAFPAUConnectionClass_@@PAUITransaction@@PAUITransactionDispenser@@@Z) > .\Release\pgenlist.dll : fatal error LNK1120: 1 unresolved externals > NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 8 > \VC\BIN\link.exe"' : return code '0x460' > Stop. > > > ATB, > > Mark.
Mark Cave-Ayland wrote: > Hi everyone, > > I'm working on building the latest CVS of psqlODBC from CVS using MS > Visual C++ Express 2005 and thought you may like some extra feedback on > the build process. The instructions in win32-compilation.html were > helpful, but I needed to make the following changes: > 3. Pass the MSDTC=no option to nmake. > > > If I try to build without the MSDTC=no option then I get the following > error upon compilation: > > > Generating Code... > link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm53.tmp > Creating library .\Release\psqlodbc35w.lib and object .\Release > \psqlodbc35w.exp > cl.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm56.tmp pgxalib.cpp > link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm57.tmp > Creating library .\Release\pgxalib.lib and object .\Release > \pgxalib.exp > link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm59.tmp > msdtc_enlist.obj : error LNK2019: unresolved external symbol > _CC_set_autocommit Oops I've forgotten to commit psqlodbc(a).def to cvs. I would commit them tonight. regards, Hiroshi Inoue
On Mon, 2007-06-04 at 12:23 +0900, Hiroshi Inoue wrote: > > If I try to build without the MSDTC=no option then I get the following > > error upon compilation: > > > > > > Generating Code... > > link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm53.tmp > > Creating library .\Release\psqlodbc35w.lib and object .\Release > > \psqlodbc35w.exp > > cl.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm56.tmp pgxalib.cpp > > link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm57.tmp > > Creating library .\Release\pgxalib.lib and object .\Release > > \pgxalib.exp > > link.exe @C:\DOCUME~1\MARKCA~1\LOCALS~1\Temp\nm59.tmp > > msdtc_enlist.obj : error LNK2019: unresolved external symbol > > _CC_set_autocommit > > Oops I've forgotten to commit psqlodbc(a).def to cvs. > I would commit them tonight. > > regards, > Hiroshi Inoue Inoue-san, I've just done a cvs update and I can now compile the latest CVS version of the driver. Many thanks! Kind regards, Mark.