This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: problem linking SHM functions
- From: Brian Ford <ford at vss dot fsi dot com>
- To: Claude dot Barrouil at onera dot fr
- Cc: cygwin at cygwin dot com
- Date: Tue, 2 Mar 2004 14:02:29 -0600 (CST)
- Subject: Re: problem linking SHM functions
- References: <40051D73.1070603@onera.fr>
- Reply-to: cygwin at cygwin dot com
I'm digging out of my list backlog, and I noticed you didn't get a reply.
So, this is just in case you haven't figured it out yet.
On Wed, 14 Jan 2004 Claude.Barrouil@onera.fr wrote:
> I have a program that uses shared memory functions shmget() and shmat() and
> that works fine under Linux.
>
> My problem is that I couldn't find how to link it with Cygwin, although I
> installed le last full package, cygwin1.dll is in the PATH, any other
> compilations and linkages works fine.
>
> All the info I could find is the thread starting at
> http://www.cygwin.com/ml/cygwin/2002-08/msg01296.html, and the links to
> cygipc and cygserver. But this info does not address this (supposed to be
> trivial) linkage problem.
>
> Where is the relevant info ?
>
At the time you wrote this, your best option was cygipc. You could have
read: /usr/share/doc/Cygwin/cygipc-*.README for details
Five days later, cygwin-1.5.6 was released with System V shm, sem, msg
handling in cygserver. It then became the prefered option. But,
cygserver and the documentation was accidentally left out of that release.
On the last day of January, cygwin-1.5.7 was released and included the
missing files. See /usr/share/doc/Cygwin/cygserver.README for details.
Finally, on February 09, cygipc was updated to happily cooexist with the
cygserver implementation.
</end history lesson>
So, get Cygwin 1.5.7 or newer and read its docs listed above.
> Thanks,
> Claude Barrouil
>
> --------------- the relevant part of the codee -----------------
> ...
> #include <cygwin/shm.h>
> ...
> ShmId = shmget(ShmKey, ShmSiz, 0666)
> ...
> SharedData = shmat(ShmId,NULL,0)
> ...
> --------------- the linkage failure-----------------------------
> gcc myprog.c -lm -o myprog.exe
> {}/Temp/ccj8s9oV.o(.text+0x67):myprog.c: undefined reference to `_shmget'
> {}/Temp/ccj8s9oV.o(.text+0xa3):myprog.c: undefined reference to `_shmat'
> collect2: ld returned 1 exit status
> ---------------- the end ---------------------------------------
>
--
Brian Ford
Senior Realtime Software Engineer
VITAL - Visual Simulation Systems
FlightSafety International
Phone: 314-551-8460
Fax: 314-551-8444
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/