Prev: Proposal: access control jails (and introduction asaspiring GSoC student)
Next: Updated Turkish stopwords list for Tsearch2
From: Magnus Hagander on 22 Mar 2010 05:22 2010/3/22 chaoyong wang <catcher_wang(a)hotmail.com> > > Hi, > I build PG on VS2005, which files should I change to use a external lib > in my own contrib, for example, Berkeley DB 4.8.26? > > Until now, I have tried the following 2 ways, but both failed. > > 1. Add the target include and lib > 1). src/tools/msvc/config.pl > add a new line: db48=>'C:\Program Files\Oracle\Berkeley DB > 4.8.26' > 2). src/Makefile.global.in > Add a new line after line 435 "LIBS := -lpgport $(LIBS)" (maybe > not exactly same with different versions): LIBS := -ldb48 $(LIBS) > 3). contrib/mycontrib/Makefile > SHLIB_LINK += $(filter -ldb48, ($LIBS)) > Then I build DEBUG in Visual Studio 2005 Command Prompt, it reports > db.h not found. > > 2. The first error report shows that the include file is not accessed > I changed the congiture option "--with-libxml" to yes, and add the > files of include and lib under Berkeley DB 4.8.26 to libxml folder. > When I build, it reports: fatal error LNK1120: 2 unresolved > externals > Then I check the single project on VS2005, there is no libdb48.lib > in the Linker input, after I added BDB_DIR\lib\libdb48.lib to it. It build > successfully. > > But I want to build the whole PG source with mycontrib, Had someone > ever encounter a problem like this? Thanks~ > > > Makefile and Makefile.global aren't used when building with MSVC. You probably want to edit src/tools/msvc/Mkvcbuild.pm, specifically you are probably looking for $contrib_extrainclude and $contrib_extralibs. -- Magnus Hagander Me: http://www.hagander.net/ Work: http://www.redpill-linpro.com/ |