
hey, when trying to run a program using boost::signal i am getting a lot of unresolved errors. [output window] --------------------Configuration: my_dlls - Win32 Release-------------------- Linking... delegate_main.obj : error LNK2001: unresolved external symbol "public: __thiscall boost::signals::detail::signal_base::~signal_base(void)" (??1signal_base@detail@signals@boost@@QAE@XZ) delegate_main.obj : error LNK2001: unresolved external symbol "protected: __thiscall boost::signals::trackable::~trackable(void)" (??1trackable@signals@boost@@IAE@XZ) delegate_main.obj : error LNK2001: unresolved external symbol "public: void __thiscall boost::signals::connection::disconnect(void)const " (?disconnect@connection@signals@boost@@QBEXXZ) delegate_main.obj : error LNK2001: unresolved external symbol "protected: void __thiscall boost::signals::detail::slot_base::create_connection(void)" (?create_connection@slot_base@detail@signals@boost@@IAEXXZ) delegate_main.obj : error LNK2001: unresolved external symbol "public: __thiscall boost::signals::detail::signal_base_impl::signal_base_impl(class boost::function2<bool,class boost::any,class boost::any,struct boost::empty_function_policy,struct boo st::empty_function_mixin,int> const &)" (??0signal_base_impl@detail@signals@boost@@QAE@ABV?$function2@_NVany@boost@@ V12@Uempty_function_policy@2@Uempty_function_mixin@2@H@3@@Z) delegate_main.obj : error LNK2001: unresolved external symbol "public: class boost::signals::connection __thiscall boost::signals::detail::signal_base_impl::connect_slot(class boost::any const &,class boost::any const &,class std::vector<class boost ::signals::trackable const *,class std::allocator<class boost::signals::trackable const *> > const &)" (?connect_slot@signal_base_impl@detail@signals@boost@@QAE?AVconnection@34@AB Vany@4@0ABV?$vector@PBVtrackable@signals@boost@@V?$allocator@PBVtracka ble@signals@boost@@@std@@@std@@@Z) delegate_main.obj : error LNK2001: unresolved external symbol "public: __thiscall boost::signals::detail::call_notification::~call_notification(void)" (??1call_notification@detail@signals@boost@@QAE@XZ) delegate_main.obj : error LNK2001: unresolved external symbol "public: __thiscall boost::signals::detail::call_notification::call_notification(class boost::shared_ptr<class boost::signals::detail::signal_base_impl> const &)" (??0call_notification@de tail@signals@boost@@QAE@ABV?$shared_ptr@Vsignal_base_impl@detail@signals@boo st@@@3@@Z) delegate_main.obj : error LNK2001: unresolved external symbol "public: __thiscall boost::signals::detail::signal_base_impl::~signal_base_impl(void)" (??1signal_base_impl@detail@signals@boost@@QAE@XZ) Release/my_dlls.exe : fatal error LNK1120: 9 unresolved externals Error executing link.exe. my_dlls.exe - 10 error(s), 0 warning(s) [/output window] so in semi-readable for these are the unresolved symbols: signal_base::~signal_base(void) trackable::~trackable(void) void connection::disconnect(void)const void slot_base::create_connection(void) signal_base_impl::signal_base_impl(class boost::function2<bool,class boost::any,class boost::any,struct boost::empty_function_policy,struct boost::empty_function_mixin,int> const &) connection signal_base_impl::connect_slot(class boost::any const &,class boost::any const &,class std::vector<class boost::signals::trackable const *,class std::allocator<class boost::signals::trackable const *> >const &) call_notification::~call_notification(void) call_notification::call_notification(class boost::shared_ptr<class boost::signals::detail::signal_base_impl> const &) signal_base_impl::~signal_base_impl(void) i downloaded the signals library out of the CVS Repository. i see that some people have gotten signals to work so i guess i'm missing something=( i like this lib a lot (and it saves me from coding it=), but i would have went with a delegate/callback naming scheme instead of signal/slot. i guess that's what find and replace is for=). michael graves ii

On Thursday 08 August 2002 10:33 am, michael graves ii wrote:
so in semi-readable for these are the unresolved symbols: signal_base::~signal_base(void) trackable::~trackable(void) void connection::disconnect(void)const void slot_base::create_connection(void) signal_base_impl::signal_base_impl(class boost::function2<bool,class boost::any,class boost::any,struct boost::empty_function_policy,struct boost::empty_function_mixin,int> const &) connection signal_base_impl::connect_slot(class boost::any const &,class boost::any const &,class std::vector<class boost::signals::trackable const *,class std::allocator<class boost::signals::trackable const *> >const &) call_notification::~call_notification(void) call_notification::call_notification(class boost::shared_ptr<class boost::signals::detail::signal_base_impl> const &) signal_base_impl::~signal_base_impl(void)
That sums up just about everything that isn't a template in the Signals library.
i downloaded the signals library out of the CVS Repository. i see that some people have gotten signals to work so i guess i'm missing something=(
I'd suggest static linking on Windows for now. This _should_ be fixed by the next release. Doug

speedy response.... thankya=) "Douglas Gregor" <gregod@cs.rpi.edu> wrote in message news:200208081308.36242.gregod@cs.rpi.edu...
so in semi-readable for these are the unresolved symbols: That sums up just about everything that isn't a template in the Signals library. =p
I'd suggest static linking on Windows for now. This _should_ be fixed by the next release.
static linking?? from what i can see, none of these functions have a body. so unless i'm missing some cpp files somewhere, the compiler doesn't have anything to link to. take for example the "void slot_base::create_connection(void)" function. in 'slot.hpp' it looks like: <snipet> class slot_base { ... protected: // Create a connection for this slot void create_connection(): ... </snippet> and no create_connection function body is anywhere in the file.... how can the compiler link to this?? am i missing some files?? if so where is "slot_base::create_connection(void)" defined (maybe i missed some folder =/ )?? thx 4 the time michael graves

never mind... i found a couple of .cpp files...... not so smart... i had to find my way around the CVS system.... mike

On Thursday 08 August 2002 01:35 pm, michael graves ii wrote:
static linking?? from what i can see, none of these functions have a body. so unless i'm missing some cpp files somewhere, the compiler doesn't have anything to link to.
Check out boost/libs/signals/src/*.cpp You can build a static library with Jam, if you wish, or just add those .cpp files to your project. Doug

-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Mike, just one question: did you build the signals-library and then linked against it? I had the same problem once... Michael On Thursday 08 August 2002 19:48, michael graves ii wrote:
never mind... i found a couple of .cpp files...... not so smart... i had to find my way around the CVS system....
mike
- -- http://www.ive.uni-hannover.de # kettner@ive.uni-hannover.de -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE9U1LgkCdGnb0kVFMRAuzSAJ0e2QrXixiOhGKKsSW/7RM7FVWYSwCfWmNT pQo5KHyO3s7/ndO3pfTgTa4= =ViZz -----END PGP SIGNATURE-----

Hash: SHA1
Hi Mike,
just one question: did you build the signals-library and then linked against it? I had the same problem once...
Michael
hey michael (nice name btw=), well, my initial problem was all my own.... but once i got that figured out i tried putting signals into a boost dll. i tried __declspec(dllexport)'ing all the non-template classes... this caused vc++ 6.0 to have an INTERNAL COMPILER ERROR. you got signals to work from lib/dll?? if so, what are your suggestions?? michael graves ii
participants (3)
-
Douglas Gregor
-
michael graves ii
-
Michael Kettner