Subject: Re: Building dlls with cygwin
From: "Dylan Cuthbert" <[email-masked]>
To: [email-masked]
Date: Sun, 30 Jun 2002 18:49:36 +0900
Newsgroups: gmane.os.cygwin

Hi there,

I have tried making a dll in the way you describe, however I get the errors
below.

Have you seen similar errors to this in your library creation?  Am I making
a simple mistake here?

Regards

--
---------------------------------
Q-Games, Dylan Cuthbert.
http://www.q-games.com

 $ gcc -shared -Wl,--out-implib=common.dll.a -o common.dll
*.o -Wl,--export-all-symbols

Cannot export _ZN4Loki14wrapped_atexitEPFvvE: symbol not defined
Cannot export _ZNKSs4findEPKcjj: symbol not defined
Cannot export _ZNKSs7compareEPKc: symbol not defined
Cannot export _ZNKSs7compareERKSs: symbol not defined
Cannot export _ZNKSt11logic_error4whatEv: symbol not defined
Cannot export _ZNKSt13runtime_error4whatEv: symbol not defined
Cannot export _ZNSolsEPFRSoS_E: symbol not defined
Cannot export _ZNSolsEd: symbol not defined
Cannot export _ZNSs12_M_leak_hardEv: symbol not defined
Cannot export _ZNSs20_S_empty_rep_storageE: symbol not defined
Cannot export _ZNSs4_Rep10_M_destroyERKSaIcE: symbol not defined
Cannot export _ZNSs4_Rep10_M_disposeERKSaIcE: symbol not defined
Cannot export _ZNSs4_Rep11_S_max_sizeE: symbol not defined
Cannot export _ZNSs4_Rep11_S_terminalE: symbol not defined
Cannot export _ZNSs4_Rep9_S_createEjRKSaIcE: symbol not defined
Cannot export _ZNSs6appendEPKcj: symbol not defined
Cannot export _ZNSs6appendERKSs: symbol not defined
Cannot export _ZNSs6assignERKSs: symbol not defined
Cannot export _ZNSs9_M_mutateEjjj: symbol not defined
Cannot export _ZNSsC1EPKcRKSaIcE: symbol not defined
Cannot export _ZNSsC1ERKSs: symbol not defined
Cannot export _ZNSsC1ERKSsjj: symbol not defined
Cannot export _ZNSsD1Ev: symbol not defined
Cannot export _ZNSt11logic_errorC1ERKSs: symbol not defined
Cannot export _ZNSt11logic_errorD0Ev: symbol not defined
Cannot export _ZNSt11logic_errorD1Ev: symbol not defined
Cannot export _ZNSt13runtime_errorC1ERKSs: symbol not defined
Cannot export _ZNSt13runtime_errorD0Ev: symbol not defined
Cannot export _ZNSt13runtime_errorD1Ev: symbol not defined
Cannot export _ZNSt8ios_base4InitC1Ev: symbol not defined
Cannot export _ZNSt8ios_base4InitD1Ev: symbol not defined
Cannot export _ZNSt9exceptionD2Ev: symbol not defined
Cannot export _ZSt19__throw_logic_errorPKc: symbol not defined
Cannot export _ZSt20__throw_length_errorPKc: symbol not defined
Cannot export _ZSt4cerr: symbol not defined
Cannot export _ZSt4cout: symbol not defined
Cannot export _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_:
symbol not defined
Cannot export _ZSt9terminatev: symbol not defined
Cannot export _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc:
symbol not defined
Cannot export _ZTIv: symbol not defined
Cannot export _ZTVN10__cxxabiv117__class_type_infoE: symbol not defined
Cannot export _ZTVN10__cxxabiv120__si_class_type_infoE: symbol not defined
Cannot export _ZTVN10__cxxabiv121__vmi_class_type_infoE: symbol not defined
Cannot export __cxa_allocate_exception: symbol not defined
Cannot export __cxa_begin_catch: symbol not defined
Cannot export __cxa_call_unexpected: symbol not defined
Cannot export __cxa_end_catch: symbol not defined
Cannot export __cxa_pure_virtual: symbol not defined
Cannot export __cxa_rethrow: symbol not defined
Cannot export __cxa_throw: symbol not defined
Cannot export __gxx_personality_sj0: symbol not defined
Cannot export _bss_end__: symbol not defined
Cannot export _bss_start__: symbol not defined
Cannot export _data_end__: symbol not defined
Cannot export _data_start__: symbol not defined
Creating library file: common.dll.a
CommandRegistry.o(.text+0x5a):.job_parsed_CommandRegistry.cpp: undefined
reference to `___gxx_personality_sj0'
CommandRegistry.o(.text+0x16a):.job_parsed_CommandRegistry.cpp: undefined
reference to `std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string[in-charge](char const*,
std::allocator<char> const&)'
CommandRegistry.o(.text+0x187):.job_parsed_CommandRegistry.cpp: undefined
reference to `std::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string[in-charge](std::basic_string<char,
std::char_traits<char>, std::allocator<char> > const&)'

*** ad infinitum ***

"Volker Quetschke" <[email-masked]> wrote in message
news:[email-masked]...
> Hi Steven,
>
> > you should grep for the actual symbol that you are hoping to find in the
> > dll, not "SYMBOL"
>
> *OUCH* :-)
>
> Thanks for your assistance, and for Chucks dllhelpers.
>
> Now gpg can use cygwin build loadable modules. This will show up in the
> next release of gnupg.
>
> I think my problems came mainly from the misleading information in the
"Cygwin User's
> Guide" and the Cygwin FAQ. No offense indended David.
>
> Hello David!
>
> Proposal: Put a link to dllhelpers and in the Guide and the FAQ
> (http://www.neuro.gatech.edu/users/cwilson/cygutils/dll-stuff/)
>
> and replace the build commands with something like this:
>
> Building DLLs
> -------------
> OK, let's go through a simple example of how to build a dll. For this
example, we'll use a
> single file myprog.c for the program (myprog.exe) and a single file
mydll.c for the
> contents of the dll (mydll.dll).
>
>
> # Making the DLL
> gcc -c -I. -g -Wall -o mydll.o mydll.c
> gcc -shared -Wl,--out-implib=libmydll.dll.a -o cygmydll.dll mydll.o \
> -Wl,--export-all-symbols
>
> Linking Against DLLS
> --------------------
>
> # Making exec
> gcc -c -I. -g -Wall -o myprog.o myprog.c
> gcc -o myprog.exe -g -Wall myprog.o -L./ -lmydll
>
>
>
> Bye
>     Volker
>
>
>
>
>
> --
> 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/
>
>

--
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/