Le 30 mars 2014 08:58, "我想不无聊" <237825...@qq.com> a écrit :
>
> I want to store some information about packets and transmit among
files,so i create a file in wireshark root directory,named performance.h:
>
> //performance.h
> #include <glib.h>
> typedef struct performance_s
> {
> gfloat time[100];
>        gfloat delay[100];
> guint32 packetSize[100];
> guint32 payload;
> guint32 index;
> guint32 temp_size;
> gfloat temp_time;
> }performance;
> extern peformance* performance_test;
>
> in the file ,i declare a struct and declare a pointer to it,then i want
to use the variable "performance_test" in file
wiretap/libpcap.c, epan/dissectors/packet-ieee80211.c,so i define
the variable "peformance_test" in performance.c in wireshark root directory
 and include the head file
in wiretap/libpcap.c, epan/dissectors/packet-ieee80211.c ,but once i use
the variable in these two files,when i compile the wireshark project,it
come up with one error:undefined reference to 'peformance_test'.
>
> it looks like the variable peformance_test should be defined and used in
the same file ,if i want to use it in different files,i think i should
modify the makefile.common to change the compile process ,but i don't know
how .could someone help me fix it,please!

Hi,

Assuming you work on the master branch (Wireshark 1.11.X), if you want to
use in libwireshark a variable defined in libwiretap, you should export the
symbol with the WS_DLL_PUBLIC macro instead of using extern. Do not forget
to include ws_symbol_export.h file also.
You can search in the code for examples of the use of this macro.

Regards,
Pascal.
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe

Reply via email to