Author Topic: Parsing errors on c++ (error -8020: undefined symbol)  (Read 6201 times)

elmtang

  • Junior Community Member
  • Posts: 3
  • Hero Points: 0
Parsing errors on c++ (error -8020: undefined symbol)
« on: July 11, 2006, 04:05:58 am »
Hi there,

I'm working on the project using c++ and I want to refactor some classes. Currently, the project is compiled without any error, I try to use some simple refactoring tools, e.g. Encapsulate Field, but slickedit reports lots of errors with same error code,

error -8020: undefined symbol 'BYTE'
error -8020: undefined symbol 'wxDialog'
....

BTW, wxDialog is class in the wxWindows and my compiler is VC 6.0.
I encounter same errors when I try to parse the file. but actually I think I've added appropriate pathes into 'User Include Search Directories'. I can't find any document to explain about the error code and do not how to solve the problem. (may since I'm new on both programming and slickedit. )

I'm appreciate any suggestion and help.

Howard

jbezem

  • Community Member
  • Posts: 80
  • Hero Points: 8
Re: Parsing errors on c++ (error -8020: undefined symbol)
« Reply #1 on: July 14, 2006, 06:18:46 am »
Can you provide the output from the 'Test Parsing Configuration...' window?

Johan

elmtang

  • Junior Community Member
  • Posts: 3
  • Hero Points: 0
Re: Parsing errors on c++ (error -8020: undefined symbol)
« Reply #2 on: July 14, 2006, 06:20:27 pm »
Thank you for reply.
Here is the output in parsing file window. I'm using wxWindows (change to wxwidget now)

Refactoring...
Parsing:  "C:\Project\GUI\bgimsystem.h"
*** Errors
C:\wx2\include\wx\font.h(76,39): error -8020: undefined symbol 'wxGDIObject'
C:\wx2\include\wx\window.h(427,45): error -8020: undefined symbol 'wxAcceleratorTable'
C:\wx2\include\wx\window.h(429,5): error -8020: undefined symbol 'wxAcceleratorTable'
C:\wx2\include\wx\window.h(668,13): error -8020: undefined symbol 'WXWidget'
C:\wx2\include\wx\window.h(712,5): error -8020: undefined symbol 'wxAcceleratorTable'
C:\Project\GUI\bgimsystem.h(102,22): error -8020: undefined symbol 'wxApp'
C:\Project\GUI\bgimsystem.h(308,25): error -8020: undefined symbol 'wxDialog'
C:\Project\GUI\bgimsystem.h(341,2): error -8020: undefined symbol 'wxBitmapButton'
C:\Project\GUI\bgimsystem.h(342,2): error -8020: undefined symbol 'wxBitmapButton'
C:\Project\GUI\bgimsystem.h(343,2): error -8020: undefined symbol 'wxStaticText'
C:\Project\GUI\bgimsystem.h(344,2): error -8020: undefined symbol 'wxStaticText'
C:\Project\GUI\bgimsystem.h(359,28): error -8020: undefined symbol 'wxPanel'
C:\Project\GUI\bgimsystem.h(387,27): error -8020: undefined symbol 'wxScrolledWindow'
C:\Project\GUI\bgimsystem.h(586,38): error -8020: undefined symbol 'wxComboBox'
C:\Project\GUI\bgimsystem.h(613,30): error -8020: undefined symbol 'wxDialog'
C:\Project\GUI\bgimsystem.h(659,27): error -8020: undefined symbol 'wxMDIParentFrame'
C:\Project\GUI\bgimsystem.h(781,30): error -8020: undefined symbol 'wxMDIChildFrame'
C:\Project\GUI\bgimsystem.h(1057,17): error -8020: undefined symbol 'msImageProcessor'
C:\Project\GUI\bgimsystem.h(1057,42): error -8020: undefined symbol 'BgImage'
C:\Project\GUI\bgimsystem.h(1059,22): error -8020: undefined symbol 'msImageProcessor'
C:\Project\GUI\bgimsystem.h(1060,22): error -8020: undefined symbol 'msImageProcessor'
C:\Project\GUI\bgimsystem.h(1080,33): error -8020: undefined symbol 'wxMDIChildFrame'
C:\Project\GUI\bgimsystem.h(1415,17): error -8020: undefined symbol 'BYTE'


Thanks.

jbezem

  • Community Member
  • Posts: 80
  • Hero Points: 8
Re: Parsing errors on c++ (error -8020: undefined symbol)
« Reply #3 on: July 17, 2006, 05:31:52 am »
I'm not too familiar with wxWidgets, but it looks like the preconditions for using refactoring have not been met yet. Apparently at least one include file seems to be unknown to SE.
Is it possible that your compiler includes one or more include files up front, without an explicit #include?
I'd suppose that SE needs all such files explicitly.

Have a look where those 'undefined symbols' are defined, in which files, and look into why SE doesn't seem to find those. Maybe an include path has been forgotten in your project definition.

HTH,

Johan

elmtang

  • Junior Community Member
  • Posts: 3
  • Hero Points: 0
Re: Parsing errors on c++ (error -8020: undefined symbol)
« Reply #4 on: July 20, 2006, 06:47:34 pm »
Johan,

Thanks for your suggestion.
I think I've already added all necessary paths, since the project can be compiled and run without problem.
I don't know if the slickedit need any additional configuration to parse the file.

Any suggestion from SlickEdit?

Thanks.

Howard

Dennis

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 2542
  • Hero Points: 373
Re: Parsing errors on c++ (error -8020: undefined symbol)
« Reply #5 on: July 21, 2006, 01:18:46 pm »
Go to Tools > C++ Refactoring > Test Parsing Configuration...

That will show you what the refactoring engine is trying to use for your #defines and user and system include paths.  Click on the "Edit..." links to make modifications.

The refactoring engine can only pilfer these settings from your project if it is a SlickEdit GNU C/C++ Project, and SlickEdit Visual C++ toolkit project, or a Visual Studio .NET solution.  Otherwise, for example, if you are building with nmake, you will have to help it along, by configuring the include paths and command line defines.