From: | chaoyong wang <catcher_wang(at)hotmail(dot)com> |
---|---|
To: | <pgsql-general(at)postgresql(dot)org> |
Subject: | How to add an external lib to PG |
Date: | 2010-03-22 05:49:11 |
Message-ID: | BAY119-W29940DC3DB8F3D0C7724B6E5270@phx.gbl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
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?
_________________________________________________________________
Hotmail: Trusted email with Microsoft’s powerful SPAM protection.
https://signup.live.com/signup.aspx?id=60969
From | Date | Subject | |
---|---|---|---|
Next Message | Carlo Stonebanks | 2010-03-22 06:02:52 | Re: How to dump JUST procedures/funnctions? |
Previous Message | Tom Lane | 2010-03-22 03:53:04 | Re: strange |