This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Prioprietary DLL link problem - Can't export...


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 <robertjbercik@yahoo.com> 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 <robertjbercik@yahoo.com> 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@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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]