diff options
Diffstat (limited to 'pipermail/nel/2001-March/000378.html')
-rw-r--r-- | pipermail/nel/2001-March/000378.html | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/pipermail/nel/2001-March/000378.html b/pipermail/nel/2001-March/000378.html new file mode 100644 index 00000000..9bb5ad4f --- /dev/null +++ b/pipermail/nel/2001-March/000378.html @@ -0,0 +1,115 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<HTML> + <HEAD> + <TITLE> [Nel] ugh, C++ is so obtuse</TITLE> + <LINK REL="Index" HREF="index.html" > + <LINK REL="made" HREF="mailto:corvazier%40nevrax.com"> + <LINK REL="Previous" HREF="000377.html"> + <LINK REL="Next" HREF="000381.html"> + </HEAD> + <BODY BGCOLOR="#ffffff"> + <H1>[Nel] ugh, C++ is so obtuse</H1> + <B>Cyril Corvazier</B> + <A HREF="mailto:corvazier%40nevrax.com" + TITLE="[Nel] ugh, C++ is so obtuse">corvazier@nevrax.com</A><BR> + <I>Wed, 14 Mar 2001 16:57:42 +0100</I> + <P><UL> + <LI> Previous message: <A HREF="000377.html">[Nel] ugh, C++ is so obtuse</A></li> + <LI> Next message: <A HREF="000381.html">[Nel] ugh, C++ is so obtuse</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#378">[ date ]</a> + <a href="thread.html#378">[ thread ]</a> + <a href="subject.html#378">[ subject ]</a> + <a href="author.html#378">[ author ]</a> + </LI> + </UL> + <HR> +<!--beginarticle--> +<PRE>><i> +</I>c++ -I/usr/local/include/freetype2 -I/home/pierre/STLport-4.0/stlport -g -O2 +><i> -o client character_interface.o client.o language_interface.o +</I>><i> login_interface.o move_listener.o pb_message_box.o player_view.o +</I>><i> shards_list_interface.o sight.o +</I>><i> +</I>lens_flare.o -lnelnet -lnelmisc -lnel3d -L/usr/local/lib -lfreetype -L/home/ +><i> pierre/STLport-4.0/lib -lstlport_gcc +</I>><i> /usr/local/lib/libnel3d.so: undefined reference to +</I>><i> `NL3D::CTrackKeyFramerLinear<NL3D::CKeyQuat, NLMISC::CQuat> type_info +</I>node' +><i> /usr/local/lib/libnel3d.so: undefined reference to +</I>><i> `NL3D::CTrackKeyFramerLinear<NL3D::CKeyQuat, +</I>NLMISC::CQuat>::getValue(void) +><i> const' +</I> +I have fixed that bug. It should be on the cvs tonight (GMT+1). + +*** For c++ addicts, here is the problem *** + +The link failed under GCC when we use non-inline functions in a template +implementation. +No problem with Visual C++ 6.0. + +It looked like this: + +in the .h file: +----------- + +// Two template classes +template<class T> +class a +{ + virtual void toto()=0; +}; + +template<class T> +class b : public a<T> +{ + virtual void toto() + { + ... + }; +}; + +// The second one is implemented, but toto function body is in the .cpp +file. +class b<int> : public a<int> +{ + virtual void toto(); +}; + +In the .cpp: +----------- +virtual void b<int>::toto() +{ + ... +}; + +The fixe was to let the toto body inline in the header. + +Any comments ? + +--- +Cyril Corvazier +Lead 3d programmer +Nevrax France + + + +</pre> + + + +<!--endarticle--> + <HR> + <P><UL> + <!--threads--> + <LI> Previous message: <A HREF="000377.html">[Nel] ugh, C++ is so obtuse</A></li> + <LI> Next message: <A HREF="000381.html">[Nel] ugh, C++ is so obtuse</A></li> + <LI> <B>Messages sorted by:</B> + <a href="date.html#378">[ date ]</a> + <a href="thread.html#378">[ thread ]</a> + <a href="subject.html#378">[ subject ]</a> + <a href="author.html#378">[ author ]</a> + </LI> + </UL> +</body></html> |