Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <20030102161846.70894.qmail@web14705.mail.yahoo.com> Date: Thu, 2 Jan 2003 08:18:46 -0800 (PST) From: Robert Bercik Subject: Re: Prioprietary DLL link problem - Can't export... To: cygwin AT cygwin DOT com In-Reply-To: <20030102154343.30336.qmail@web14707.mail.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Alright, I'm replying to my own email because I figured out the problem and maybe this could be beneficial to others having the same problem at a later time. I created a .def file which contained all of the symbols I was exporting using the methods found here: http://www.cygwin.com/cygwin-ug-net/dll.html note that this definition file did NOT include the symbols the compiler was complaining about like NULL_IMPORT_DESCRIPTOR. Then you give the definition file as an arguement to gcc along with all of your object files, mine looked like this: gcc -L/usr/local/lib -L. -I. -I/cygdrive/c/Oracle/Ora81 /oci/include -Wall -shared -o files.dll files.o handle.o files.def -lcurses specifying the files.def file made it stop complaining about those other symbols. Good Luck, -Rob --- Robert Bercik wrote: > Hi guys, > > I'm still trying to figure out how to fix this. > I've been scouring the internet looking for anyone > who's had a similar problem and someone mentioned > creating a definition file. Do I need to pass a .def > file to the linker. I really could use some help, > thanks guys... > > -Rob > > --- Robert Bercik wrote: > > Hi, > > > > I am trying to link to a proprietary dll and > > I'm > > so damn close I > > can almost taste the sweet sweet linkage. But i > got > > a > > little error. > > It's says it cannot find some symbols and > therefore > > the export fails? > > Maybe you guys can help clarify, > > heres' what gcc says: > > > > make files.dll > > make[1]: Entering directory > > `/cygdrive/c/source-code/run306' > > gcc -DCYGWIN -DINLINE_4WS -w -L/usr/local/lib -L. > > -I. > > -I/cygdrive/c/Oracle/Ora81 > > /oci/include -v -shared -o files.dll > > -Wl,--export-all-symbols files.o > > handle.o a > > bort.o attrst.o calendar.o cdate.o datemm.o crm.o > > endwin.o > > fire_triggers.o get_h > > elp.o get_tble.o getf.o getgroup.o getun.o hwin.o > > init_pan.o logdf.o > > pager.o put > > f.o read_pan.o refsh.o remark.o replay.o > routines.o > > simple.o sfattr.o > > sfclos.o s > > fcset.o sfdisp.o sfgeta.o sfgeti.o sfgetk.o > sfgetp.o > > sfopen.o sfposr.o > > sfsetp.o > > sysinf.o sfsrea.o sfssho.o sfswri.o strings.o > swin.o > > ice_api.o > > exec_sql.o change > > _file_group.o -lm -lcurses -lcygipc > > /cygdrive/c/Oracle/Ora81/oci/lib/msvc/ociw32 > > .lib /cygdrive/c/cobol32/lib/MFRTS32.LIB > > Reading specs from > > /usr/lib/gcc-lib/i686-pc-cygwin/3.2/specs > > Configured with: /netrel/src/gcc-3.2-3/configure > > --enable-languages=c,c++,f77,ja > > va --enable-libgcj --enable-threads=posix > > --with-system-zlib > > --enable-nls --with > > out-included-gettext --enable-interpreter > > --disable-sjlj-exceptions > > --disable-ve > > rsion-specific-runtime-libs --enable-shared > > --build=i686-pc-linux > > --host=i686-pc > > -cygwin --target=i686-pc-cygwin --enable-haifa > > --prefix=/usr > > --exec-prefix=/usr > > --sysconfdir=/etc --libdir=/usr/lib > > --includedir=/nonexistent/include > > --libexecd > > ir=/usr/sbin > > Thread model: posix > > gcc version 3.2 20020927 (prerelease) > > /usr/lib/gcc-lib/i686-pc-cygwin/3.2/collect2.exe > > --shared -Bdynamic -e > > __cygwin > > _dll_entry AT 12 --dll-search-prefix=cyg -o files.dll > > > /usr/lib/gcc-lib/i686-pc-cygw > > in/3.2/crtbegin.o -L/usr/local/lib -L. > > -L/usr/lib/gcc-lib/i686-pc-cygwin/3.2 -L/ > > usr/lib/gcc-lib/i686-pc-cygwin/3.2/../../.. > > --export-all-symbols > > files.o handle. > > o abort.o attrst.o calendar.o cdate.o datemm.o > crm.o > > endwin.o > > fire_triggers.o ge > > t_help.o get_tble.o getf.o getgroup.o getun.o > hwin.o > > init_pan.o logdf.o > > pager.o > > putf.o read_pan.o refsh.o remark.o replay.o > > routines.o > > simple.o > > sfattr.o sfclos. > > o sfcset.o sfdisp.o sfgeta.o sfgeti.o sfgetk.o > > sfgetp.o sfopen.o > > sfposr.o sfsetp > > .o sysinf.o sfsrea.o sfssho.o sfswri.o strings.o > > swin.o ice_api.o > > exec_sql.o cha > > nge_file_group.o -lm -lcurses -lcygipc > > /cygdrive/c/Oracle/Ora81/oci/lib/msvc/oci > > w32.lib /cygdrive/c/cobol32/lib/MFRTS32.LIB -lgcc > > -lcygwin -luser32 > > -lkernel32 - > > ladvapi32 -lshell32 -lgcc > > /usr/lib/gcc-lib/i686-pc-cygwin/3.2/crtend.o > > Cannot export NULL_IMPORT_DESCRIPTOR: symbol not > > found > > Cannot export mfrts32_IMPORT_DESCRIPTOR: symbol > not > > found > > Cannot export #8962;OCIW32_NULL_THUNK_DATA: symbol > > not > > found > > Cannot export #8962;mfrts32_NULL_THUNK_DATA: > symbol > > not found > > Info: resolving _stdscr by linking to > __imp__stdscr > > (auto-import) > > Info: resolving _curscr by linking to > __imp__curscr > > (auto-import) > > collect2: ld returned 1 exit status > > make[1]: *** [files.dll] Error 1 > > make[1]: Leaving directory > > `/cygdrive/c/source-code/run306' > > make: *** [default] Error 2 > > > > > > __________________________________________________ > > Do you Yahoo!? > > Yahoo! Mail Plus - Powerful. Affordable. Sign up > > now. > > http://mailplus.yahoo.com > > > > -- > > Unsubscribe info: > > http://cygwin.com/ml/#unsubscribe-simple > > Bug reporting: http://cygwin.com/bugs.html > > Documentation: http://cygwin.com/docs.html > > FAQ: http://cygwin.com/faq/ > > > > > __________________________________________________ > Do you Yahoo!? > Yahoo! Mail Plus - Powerful. Affordable. Sign up > now. > http://mailplus.yahoo.com __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/