Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Message-ID: <80575AFA5F0DD31197CE00805F650D7602CEA8@wilber.adroit.com> From: "Robinow, David" To: cygwin AT cygwin DOT com Subject: RE: Unresolved references to opendir/readdir/closedir Date: Mon, 5 Mar 2001 17:00:44 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="iso-8859-1" Just guessing. You want to use 'opendir'. You need a prototype. grep opendir /usr/include/*.h Nope, not there. grep opendir /usr/include/sys/*.h OK, it's in /usr/include/sys/dirent.h great, let's try #include WRONG! For C++, you need the #ifdef __cplusplus extern "C" { ... that's in /usr/include/dirent.h Recompile SVIntfLoader using the correct include file. > -----Original Message----- > From: Lyman Neuschaefer [mailto:lyman AT bcsisims DOT com] > Sent: Monday, March 05, 2001 4:45 PM > To: cygwin AT cygwin DOT com > Subject: RE: Unresolved references to opendir/readdir/closedir > > > Further elaboration on my problem, > > Thanks for your reply. I've tried what you said, but > am still having problems... > > After reinstalling cygwin 1.1.8 on > Win NT SP5 I have found definitions > for opendir/readdir/closedir within /lib/libc.a: > > /lib:54>nm -C libc.a |egrep '(opendir|readdir|closedir)' > 00000000 I _imp__readdir > 00000000 T readdir > 00000000 I _imp__opendir > 00000000 T opendir > 00000000 I _imp__closedir > 00000000 T closedir > 00000000 I _imp___readdir > 00000000 T _readdir > 00000000 I _imp___opendir > 00000000 T _opendir > 00000000 T _closedir > 00000000 I _imp___closedir > > However, these symbols are still unresolved when linking > an executable as observed below: > > g++ -o svintf SVIntf.o cnf.a \ > ../message/message.a \ > ../viewers/table.a \ > ../common/common.a \ > ../../../tools/bcgui/bcgui.a \ > ../../../tools/support/support.a \ > -L/usr/local/LessTif/Motif2.0/lib -L/usr/X11R6/lib -L/lib > -lc -lXm -lXt -lS > M -lICE -lX11 > cnf.a(SVIntfLoader.o)(.text+0x2942):SVIntfLoader.C: > undefined reference to > `opendir(char const *)' > cnf.a(SVIntfLoader.o)(.text+0x2a7b):SVIntfLoader.C: > undefined reference to > `readdir(DIR *)' > cnf.a(SVIntfLoader.o)(.text+0x2c43):SVIntfLoader.C: > undefined reference to > `closedir(DIR *)' > cnf.a(SVIntfLoader.o)(.text+0x2ce4):SVIntfLoader.C: > undefined reference to > `opendir(char const *)' > cnf.a(SVIntfLoader.o)(.text+0x2e3b):SVIntfLoader.C: > undefined reference to > `readdir(DIR *)' > cnf.a(SVIntfLoader.o)(.text+0x3107):SVIntfLoader.C: > undefined reference to > `closedir(DIR *)' > collect2: ld returned 1 exit status > > Notice the explicit inclusion of /lib/libc.a (-L/lib -lc). I > am tearing my > hair out on this one. Thanks for any help you can provide. > > Lyman > > -----Original Message----- > From: Christopher Faylor [mailto:cgf AT redhat DOT com] > Sent: Monday, March 05, 2001 1:58 PM > To: cygwin AT cygwin DOT com > Cc: lyman AT bcsisims DOT com > Subject: Re: Unresolved references to opendir/readdir/closedir > > > On Mon, Mar 05, 2001 at 01:59:44PM -0700, Lyman Neuschaefer wrote: > >Apologies in advance for the following inane question: > > > >I am unable to link an executable which uses opendir, readdir > >and closedir. Via nm I am unable to find definitions for > >these symbols in any of the libraries in /usr/lib. Moreover, > >I've scoured the cygwin FAQ as well as the cygwin archive > >and have found no answer to this problem. Surely I'm not > >understanding something fundamental. > > You apparently don't have the cygwin package fully installed. > Rerun setup and install it. > > cgf > > > -- > Want to unsubscribe from this list? > Check out: http://cygwin.com/ml/#unsubscribe-simple > -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple