Re: how to link an external lib on Windows - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: how to link an external lib on Windows
Date
Msg-id 9837222c1003220222h6210d98amce441b4ff86b0de4@mail.gmail.com
Whole thread Raw
In response to how to link an external lib on Windows  (chaoyong wang <catcher_wang@hotmail.com>)
List pgsql-hackers
2010/3/22 chaoyong wang <catcher_wang@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/

pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: Proposal: access control jails (and introduction as aspiring GSoC student)
Next
From: Devrim GÜNDÜZ
Date:
Subject: Updated Turkish stopwords list for Tsearch2