This is a static archive of our old Q&A Site. Please post any new questions and answers at ask.wireshark.org.

Linker Error after removing a file

0

I had added a new file in dissector folder. The file had two functions for registering few dissectors - proto_register_bacnetSBT and proto_reg_handoff_bacnetSBT.

I add reference of this file in following to compile

C:wiresharkepanCMakeLists.txt C:wiresharkepandissectorsMakefile.common

Now I have removed this file and its references from above 2 files. but i am still getting linker errors. I am using Visual C++ 2008 Express. I clean solution before compiling. I also tried distclean and compiling using command propmpt. (nmake -f Makefile.nmake disclean and all)

Creating library libwireshark.lib and object libwireshark.exp register.obj : error LNK2019: unresolved external symbol _proto_register_bacnetS BT referenced in function _register_all_protocols register.obj : error LNK2019: unresolved external symbol _proto_reg_handoff_bacn etSBT referenced in function _register_all_protocol_handoffs libwireshark.dll : fatal error LNK1120: 2 unresolved externals NMAKE : fatal error U1077: '"C:Program FilesMicrosoft Visual Studio 9.0VCBIN link.EXE"' : return code '0x460' Stop. NMAKE : fatal error U1077: '"C:Program FilesMicrosoft Visual Studio 9.0VCBIN nmake.exe"' : return code '0x2' Stop.

Can you please tell me what do we need to do to remove these linker errors?

asked 20 Apr '11, 09:07

dsprabhu4's gravatar image

dsprabhu4
117710
accept rate: 0%


One Answer:

1

The references come from register.c, found in epan/.

This file should be regenerated when you make changes to Makefile.common. I'm not sure why that doesn't happen, but you could remove it, regenerate it or modify by hand.

answered 20 Apr '11, 09:12

Jaap's gravatar image

Jaap ♦
11.7k16101
accept rate: 14%

Thanks. Deleted those function manually from Register.c. I can continue my work now but question remains why didn't register.c get generated again? Did i not execute something for cleaning solution so that register.c got deleted and created again?

(20 Apr '11, 09:39) dsprabhu4

Get error in 2008 VSEE 11> perl ws-manifest.pl nsis/wireshark.nsi > wireshark.manifest 11>ERROR 11>The following directories have no known location on a U3 device: 11> $INSTDIR $INSTDIR${GTK_WIMP_DLLDST_DIR} $INSTDIR${GTK_WIMP_RCDST_DIR} $INSTDIRdiameter $INSTDIRdtds $INSTDIRetcgtk-2.0 $INSTDIRetcpango $INSTDIRhelp $INSTDIRlibgtk-2.0${GTK_LIB_DIR}engines $INSTDIRlibgtk-2.0modules $INSTDIRradius $INSTDIRsnmpmibs $INSTDIRtpncp $INSTDIRwimaxasncp $PROFILE '$INSTDIRplugins${VERSION}' 11>NMAKE : fatal error U1077: 'perl' : return code '0xff' 11>Stop

Any idea?

(20 Apr '11, 09:45) dsprabhu4

register.c depends the files listed in ALL_DISSECTORS_SRC in epan/dissectors/Makefile.common but it doesn't depend on Makefile.common itself. I'll check in a change to fix that.

(20 Apr '11, 10:06) Gerald Combs ♦♦

Any idea about perl error?? Is any library missing??

(20 Apr '11, 10:25) dsprabhu4