Re: compiling C library under mingw

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Marios Vodas <mvodas(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: compiling C library under mingw
Date: 2010-10-09 09:44:42
Message-ID: AANLkTimxh18XzpGU0D1j+yByVnNPYmj7NpEWMTQZgvtq@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

You need to link to postgres.exe - either directly or by manually
creating an import library.

//Magnus

On Sat, Oct 9, 2010 at 11:40, Marios Vodas <mvodas(at)gmail(dot)com> wrote:
> I did a little search and I found that probably there is a library (dll or
> lib ???) that contains all these references. I could specify it by using
> -L/C/path/to/libraries -libraryname as an option to the second gcc command,
> but I have no idea what the library is and where to find it (I used
> -L/C/PostgreSQL/9.0/lib -lpostgres -lpq, but it didn't work).
> All those references are declared as extern in postgres source code.
> Does anyone know what the library is?
>
> On Fri, Oct 8, 2010 at 12:27 PM, Marios Vodas <mvodas(at)gmail(dot)com> wrote:
>>
>> I have a library that compiles fine under linux.
>> But when I try to compile it under mingw on windows 7 I get the following
>> errors.
>>
>>> gcc.exe -c -O2 -I/C/PostgreSQL/9.0/include/server
>>> -I/C/PostgreSQL/9.0/include/server/utils
>>> -I/C/PostgreSQL/9.0/include/server/access
>>> -I/C/PostgreSQL/9.0/include/server/port/win32 -I/C/PostgreSQL/9.0/include
>>> -MMD -MP -MF build/Release/MinGW-Windows/mylib.o.d -o
>>> build/Release/MinGW-Windows/mylib.o mylib.c
>>
>> The previous command is successful and produces .o files (only some
>> warnings here like: warning: 'pg_finfo_mytype_in' redeclared without
>> dllimport attribute: previous dllimport ignored).
>> The following though gives errors.
>>
>>> gcc.exe -shared -o dist/Release/MinGW-Windows/libMyLib.dll
>>> build/Release/MinGW-Windows/mylib.o
>>
>> Here is the log:
>>
>>> build/Release/MinGW-Windows/mylib.o:mylib.c:(.text+0x128): undefined
>>> reference to `errstart'
>>> build/Release/MinGW-Windows/mylib.o:mylib.c:(.text+0x13d): undefined
>>> reference to `_imp__CurrentMemoryContext'
>>> build/Release/MinGW-Windows/mylib.o:mylib.c:(.text+0x147): undefined
>>> reference to `MemoryContextAlloc'
>>> build/Release/MinGW-Windows/mylib.o:mylib.c:(.text+0x17b): undefined
>>> reference to `timestamp_in'
>>> build/Release/MinGW-Windows/mylib.o:mylib.c:(.text+0x180): undefined
>>> reference to `DirectFunctionCall3'
>>> build/Release/MinGW-Windows/mylib.o:mylib.c:(.text+0x1be): undefined
>>> reference to `timestamp_in'
>>> build/Release/MinGW-Windows/mylib.o:mylib.c:(.text+0x1c3): undefined
>>> reference to `DirectFunctionCall3'
>>> build/Release/MinGW-Windows/mylib.o:mylib.c:(.text+0x1f4): undefined
>>> reference to `errmsg'
>>> build/Release/MinGW-Windows/mylib.o:mylib.c:(.text+0x202): undefined
>>> reference to `errcode'
>>> build/Release/MinGW-Windows/mylib.o:mylib.c:(.text+0x20e): undefined
>>> reference to `errfinish'
>>> build/Release/MinGW-Windows/mylib.o:mylib.c:(.text+0x230): undefined
>>> reference to `_imp__CurrentMemoryContext'
>>> build/Release/MinGW-Windows/mylib.o:mylib.c:(.text+0x23a): undefined
>>> reference to `MemoryContextAlloc'
>>> build/Release/MinGW-Windows/mylib.o:mylib.c:(.text+0x251): undefined
>>> reference to `Int64GetDatum'
>>> build/Release/MinGW-Windows/mylib.o:mylib.c:(.text+0x25c): undefined
>>> reference to `timestamp_out'
>>> build/Release/MinGW-Windows/mylib.o:mylib.c:(.text+0x261): undefined
>>> reference to `DirectFunctionCall1'
>>> build/Release/MinGW-Windows/mylib.o:mylib.c:(.text+0x284): undefined
>>> reference to `Int64GetDatum'
>>
>
>

--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Marios Vodas 2010-10-09 09:49:40 Re: compiling C library under mingw
Previous Message Marios Vodas 2010-10-09 09:40:03 Re: compiling C library under mingw