Обсуждение: C functions under windows

Поиск
Список
Период
Сортировка

C functions under windows

От
"Islam Hegazy"
Дата:
Hi all
 
I have postgresql server installed on a windows machine and I want to retrieve data using C functions. I followed the steps in the documentation but it didn't work for windows. I created a .dll projects for my functions but postgres.h calls .h files that I can't find on the windows machine like  <strings.h>. I tested my functions on another server installed on a linix machine and it worked correctly. So the problem appears to be in the include files under windows.
 
Any idea how to solve this problem...
 
Regards
Islam Hegazy

Re: C functions under windows

От
"Magnus Hagander"
Дата:
Are you building with the same compiler as the backend was built with? If you're using the binary distribution that
meansmingw unless you're testing the  
pre-beta snapshot Dave uploaded a few days ago.

/Magnus


------- Original message -------
From: Islam Hegazy <islheg@gmail.com>
Sent: 5-2-'07,  19:30

> Hi all
>
> I have postgresql server installed on a windows machine and I want to retrieve data using C functions. I followed the
stepsin the documentation but it  
didn't work for windows. I created a .dll projects for my functions but postgres.h calls .h files that I can't find on
thewindows machine like  <strings.h>. I  
tested my functions on another server installed on a linix machine and it worked correctly. So the problem appears to
bein the include files under windows.  
>
> Any idea how to solve this problem...
>
> Regards
> Islam Hegazy


Re: C functions under windows

От
Andrei Kovalevski
Дата:
Islam Hegazy wrote:
> Hi all
>
> I have postgresql server installed on a windows machine and I want to
> retrieve data using C functions. I followed the steps in the
> documentation but it didn't work for windows. I created a .dll
> projects for my functions but postgres.h calls .h files that I can't
> find on the windows machine like  <strings.h>. I tested my functions
> on another server installed on a linix machine and it worked
> correctly. So the problem appears to be in the include files under
> windows.
>
> Any idea how to solve this problem...
>
> Regards
> Islam Hegazy

If you use MSVC - try to setup 'Additional include directories' for your
project. It should point to the PostgreSQL 'include' folder.

Re: C functions under windows

От
"Martin Gainty"
Дата:
Andrei-

*If you're developing under nix* then I would use windows cygwin (bash
shell) e.g.
\cygwin\cygwin.bat
cd /
find . -name strings.h
you will see /usr/include
but this version of strings.h only includes string.h
to bring into environment make sure you include the /usr/include in .profile
or .bashrc e.g.
export INCLUDE=/usr/include:$INCLUDE
(then run your compile/link/make utilties)

HTH
Martin--
This email message and any files transmitted with it contain confidential
information intended only for the person(s) to whom this email message is
addressed.  If you have received this email message in error, please notify
the sender immediately by telephone or email and destroy the original
message without making a copy.  Thank you.

----- Original Message -----

> Islam Hegazy wrote:
>> Hi all
>>  I have postgresql server installed on a windows machine and I want to
>> retrieve data using C functions. I followed the steps in the
>> documentation but it didn't work for windows. I created a .dll projects
>> for my functions but postgres.h calls .h files that I can't find on the
>> windows machine like  <strings.h>. I tested my functions on another
>> server installed on a linix machine and it worked correctly. So the
>> problem appears to be in the include files under windows.
>>  Any idea how to solve this problem...
>>  Regards
>> Islam Hegazy
>
> If you use MSVC - try to setup 'Additional include directories' for your
> project. It should point to the PostgreSQL 'include' folder.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings
>


Re: C functions under windows

От
"Islam Hegazy"
Дата:
I have added the path to the include directory of postgresql but it hasn't
already some of the files that are in linux include path like <strings.h>.
It doesn't object about postgres.h which it can find now but it objects
about strings.h

I use MSVC6 to make my dll file.

Regards
Islam



----- Original Message -----
From: "Andrei Kovalevski" <andyk@commandprompt.com>
To: <pgsql-general@postgresql.org>; "Islam Hegazy" <islheg@gmail.com>
Sent: Thursday, May 03, 2007 7:32 AM
Subject: Re: [GENERAL] C functions under windows


> Islam Hegazy wrote:
>> Hi all
>>  I have postgresql server installed on a windows machine and I want to
>> retrieve data using C functions. I followed the steps in the
>> documentation but it didn't work for windows. I created a .dll projects
>> for my functions but postgres.h calls .h files that I can't find on the
>> windows machine like  <strings.h>. I tested my functions on another
>> server installed on a linix machine and it worked correctly. So the
>> problem appears to be in the include files under windows.
>>  Any idea how to solve this problem...
>>  Regards
>> Islam Hegazy
>
> If you use MSVC - try to setup 'Additional include directories' for your
> project. It should point to the PostgreSQL 'include' folder.


Re: C functions under windows

От
Magnus Hagander
Дата:
Islam Hegazy wrote:
> I have added the path to the include directory of postgresql but it
> hasn't already some of the files that are in linux include path like
> <strings.h>. It doesn't object about postgres.h which it can find now
> but it objects about strings.h
>
> I use MSVC6 to make my dll file.

The include files that ship with your version are made for MingW, not MSVC.

You could try grabbing pg_config.h.win32 from src/include (I think it's
available in the source distribution of 8.2, if not, just get one from a
snapshot version). Then take that file and overwrite your copy of
pg_config.h with it.

strings.h is one of the differences between msvc and mingw.

//Magnus