ANNOUNCEMENT: Live Wireshark University & Allegro Packets online APAC Wireshark Training Session
April 17th, 2024 | 14:30-16:00 SGT (UTC+8) | Online

Wireshark-dev: Re: [Wireshark-dev] plugins and C++

From: "RUOFF LARS" <Lars.Ruoff@xxxxxxxxxxxxxxxxxx>
Date: Thu, 14 Jan 2010 09:51:44 +0100
Hi,
Mixing C++ with C code is not that easy, unfortunately.
(Especially in the sense you are interested in, that is include C++ in C code)
Have a look here:
http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html

Regards,
Lars
 

> -----Original Message-----
> From: wireshark-dev-bounces@xxxxxxxxxxxxx 
> [mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] On Behalf Of wsgd
> Sent: mercredi 13 janvier 2010 19:44
> To: Developer support list for Wireshark
> Subject: Re: [Wireshark-dev] plugins and C++
> 
> Hello,
> 
> I have a C++ dissector which works on Windows.
> 
> 
> I try to generate it on Ubuntu 9.10.
> 
> For testing purpose on Ubuntu 9.10, I removed everything 
> except intantiating a C++ object :
> ofstream ofs ("wireshark_generic_dissector_traces.txt");
> 
> The makefile I use is a copy/paste of another dissector (not 
> a C++ dissector), with only 3 modifications :
> - change the source files !
> - add .cpp into ".SUFFIXES: .c .cpp .lo .o .obj"
> - add .cpp rule ".cpp.lo: ..." which is copy/paste of ".c.lo:"
> 
> The generation works, BUT ...
> 
> When I launch wireshark, my dissector is NOT loaded with the 
> following error :
> Couldn't load module /home/olivier/.wireshark/plugins/generic.so:
> /home/olivier/.wireshark/plugins/generic.so:
> undefined symbol: _ZTTSt14basic_ofstreamIcSt11char_traitsIcEE
> 
> Even if I remove the C++ object (C++ include still here) :
> undefined symbol: _ZNSt8ios_base4InitD1Ev
> 
> 
> I do not know which options are necessary to fix the problem.
> Any idea welcome.
> 
> 
> Olivier
> 
> 
> Lidwa, Eric (GSFC-582.0)[SGT INC] a écrit :
> >
> > Good afternoon,
> >
> > I have written several dissectors so far, one for AOS 
> (Space Data Link
> > Protocol) and two for different versions of DEM (Data Exchange 
> > Message). The dissectors were implemented as plugins.
> >
> > I am now implementing dissectors for the payload part of one of the 
> > protocols. Without going into details, if I could call or 
> even compile 
> > some existing C++ code into my dissector it would make my 
> life a lot 
> > easier.
> >
> > So here is a question, has anybody been able to write a plugin 
> > dissector in C++? I thought I ask before diving into hacking the 
> > makefiles. One thing to mention is that I do not care for multi 
> > platform support as long as "my" Wireshark runs on the 
> particular real 
> > time linux I am using.
> >
> > Regards,
> >
> > Eric Lidwa
> >
> > NASA,GSFC Greenbelt, MD
> >
> > 
> ----------------------------------------------------------------------
> > --
> >
> > 
> ______________________________________________________________
> _____________
> > Sent via:    Wireshark-dev mailing list 
> <wireshark-dev@xxxxxxxxxxxxx>
> > Archives:    http://www.wireshark.org/lists/wireshark-dev
> > Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
> >              
> > mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe
> 
>