Opened 15 years ago

Last modified 9 years ago

#2807 new defect

wxDebugReport can't be used under MingW

Reported by: heromyth Owned by:
Priority: low Milestone:
Component: build Version:
Keywords: wxMSW Cc: heromyth
Blocked By: Blocking:
Patch: no

Description

Compiler: MingW with GCC 3.4.4
wxWidgets : all
Build Setting: MONOLITHIC = 1 SHARED = 1
USE_QA = 1 BUILD = release

When compiling samples\debugrpt, get these result:

gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.rdata$_ZTV13MyDebugReport[vtable f
or MyDebugReport]+0x10): undefined reference to
`wxDebugReport::AddFile(wxString

const&, wxString const&)'

gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.rdata$_ZTV13MyDebugReport[vtable f
or MyDebugReport]+0x14): undefined reference to
`wxDebugReport::GetReportName()
const'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.rdata$_ZTV13MyDebugReport[vtable f
or MyDebugReport]+0x18): undefined reference to
`wxDebugReportUpload::DoProcess(
)'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN13MyDebugReportD1Ev[MyDebu
gReport::~MyDebugReport()]+0x14): undefined reference
to `_imp_ZTV19wxDebugRep
ortUpload'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN13MyDebugReportD1Ev[MyDebu
gReport::~MyDebugReport()]+0x5d): undefined reference
to `_imp
_ZTV21wxDebugRep
ortCompress'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN13MyDebugReportD1Ev[MyDebu
gReport::~MyDebugReport()]+0x81): undefined reference
to `_imp_ZN13wxDebugRepo
rtD2Ev'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN13MyDebugReportD1Ev[MyDebu
gReport::~MyDebugReport()]+0x9d): undefined reference
to `_imp
_ZN13wxDebugRepo
rtD2Ev'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN13MyDebugReportD0Ev[MyDebu
gReport::~MyDebugReport()]+0x14): undefined reference
to `_imp_ZTV19wxDebugRep
ortUpload'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN13MyDebugReportD0Ev[MyDebu
gReport::~MyDebugReport()]+0x61): undefined reference
to `_imp
_ZTV21wxDebugRep
ortCompress'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN13MyDebugReportD0Ev[MyDebu
gReport::~MyDebugReport()]+0x85): undefined reference
to `_imp_ZN13wxDebugRepo
rtD2Ev'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN13MyDebugReportD0Ev[MyDebu
gReport::~MyDebugReport()]+0xa1): undefined reference
to `_imp
_ZN13wxDebugRepo
rtD2Ev'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN5MyApp14GenerateReportEN13
wxDebugReport7ContextE[MyApp::GenerateReport
(wxDebugReport::Context)]+0x143): un
defined reference to
`_imp_ZN19wxDebugReportUploadC2ERK8wxStringS2
_S2_S2_'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN5MyApp14GenerateReportEN13
wxDebugReport7ContextE[MyApp::GenerateReport
(wxDebugReport::Context)]+0x1d8): un
defined reference to
`_imp
_ZN13wxDebugReport6AddAllENS_7ContextE'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN5MyApp14GenerateReportEN13
wxDebugReport7ContextE[MyApp::GenerateReport
(wxDebugReport::Context)]+0x5d0): un
defined reference to `wxDebugReport::AddFile(wxString
const&, wxString const&)'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN5MyApp14GenerateReportEN13
wxDebugReport7ContextE[MyApp::GenerateReport
(wxDebugReport::Context)]+0x6a6): un
defined reference to `wxDebugReport::AddFile(wxString
const&, wxString const&)'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN5MyApp14GenerateReportEN13
wxDebugReport7ContextE[MyApp::GenerateReport
(wxDebugReport::Context)]+0x6ee): un
defined reference to
`_imp_ZTV23wxDebugReportPreviewStd'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN5MyApp14GenerateReportEN13
wxDebugReport7ContextE[MyApp::GenerateReport
(wxDebugReport::Context)]+0x717): un
defined reference to `wxDebugReportPreviewStd::Show
(wxDebugReport&) const'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN5MyApp14GenerateReportEN13
wxDebugReport7ContextE[MyApp::GenerateReport
(wxDebugReport::Context)]+0x736): un
defined reference to
`_imp
_ZN13wxDebugReport7ProcessEv'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN5MyApp14GenerateReportEN13
wxDebugReport7ContextE[MyApp::GenerateReport
(wxDebugReport::Context)]+0x800): un
defined reference to
`_imp_ZTV19wxDebugReportUpload'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN5MyApp14GenerateReportEN13
wxDebugReport7ContextE[MyApp::GenerateReport
(wxDebugReport::Context)]+0x865): un
defined reference to
`_imp
_ZTV21wxDebugReportCompress'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN5MyApp14GenerateReportEN13
wxDebugReport7ContextE[MyApp::GenerateReport
(wxDebugReport::Context)]+0x8a1): un
defined reference to `_imp_ZN13wxDebugReportD2Ev'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN5MyApp14GenerateReportEN13
wxDebugReport7ContextE[MyApp::GenerateReport
(wxDebugReport::Context)]+0xa07): un
defined reference to
`_imp
_ZTV19wxDebugReportUpload'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN5MyApp14GenerateReportEN13
wxDebugReport7ContextE[MyApp::GenerateReport
(wxDebugReport::Context)]+0xa6f): un
defined reference to
`_imp_ZTV21wxDebugReportCompress'
gcc_mswdll\debugrpt_debugrpt.o:debugrpt.cpp:
(.text$_ZN5MyApp14GenerateReportEN13
wxDebugReport7ContextE[MyApp::GenerateReport
(wxDebugReport::Context)]+0xa97): un
defined reference to `_imp
_ZN13wxDebugReportD2Ev'
collect2: ld returned 1 exit status
make-mingw: * [gcc_mswdll\debugrpt.exe] Error 1

=========================================
======

Change the settings:

MONOLITHIC = 1 SHARED = 1 USE_QA = 1 BUILD

release

to these:

MONOLITHIC = 0 SHARED = 1 USE_QA = 1 BUILD

release

and compile wxwidgets and samples\debugrpt again, it
seems no problem.

Of couse, the wxHandleFatalExceptions() seem not
woking with MingW either. So I delete it when I compile
samples\debugrpt.

Change History (10)

comment:1 Changed 12 years ago by wojdyr

  • Component set to build
  • Keywords wxMSW added

comment:2 Changed 9 years ago by oneeyeman

This probably should've been fixed a long time ago.

comment:3 follow-up: Changed 9 years ago by vadz

  • Priority changed from normal to low

I don't understand the last comment but I'm not sure if it was fixed. Have you tried building with MONOLITHIC=1 to test it?

Anyhow, this is not very important considering that wxDebugReport is pretty useless without wxUSE_STACKWALKER and wxUSE_CRASHREPORT both of which are unavailable with MinGW.

comment:4 in reply to: ↑ 3 Changed 9 years ago by oneeyeman

Replying to vadz:

Anyhow, this is not very important considering that wxDebugReport is pretty useless without wxUSE_STACKWALKER and wxUSE_CRASHREPORT both of which are unavailable with MinGW.

Vadim,
Are you saying you can't use wxDebugReport at all or it's possible but it won't give you much?

comment:5 Changed 9 years ago by vadz

It's (probably -- never tried it myself) possible but it's not useful.

comment:6 Changed 9 years ago by arturbac

Hello last week I send 2 emails to list that I ported with succes a copy of wxStackWalker for mingw64 and mingw, as before wxStackWalker for msvc64

Im still banned on list.
No one responded my question if You are interested in enhancing wxStackWalker in Your source (becouse i work on local modification of it a template instead of polimorphism)

comment:7 Changed 9 years ago by oneeyeman

Can you make a patch and attach it to this ticket?
The patch should be made against the SVN TRUNK and you need to read the article about patches if you never done this before.

This way it will be included in the next release of wxWidgets and other people will benefit from it.

comment:8 follow-ups: Changed 9 years ago by arturbac

will You unban me from list ?

comment:9 in reply to: ↑ 8 Changed 9 years ago by robind

Replying to arturbac:

will You unban me from list ?

Your messages were flagged as possible spam by Groups and were waiting for moderation. Unfortunately the notifications of waiting messages are sometimes also marked as spam by our own local spam filters (for the same reasons presumably) and so we don't see them and so the messages wait for a while.

comment:10 in reply to: ↑ 8 Changed 9 years ago by oneeyeman

Replying to arturbac:

will You unban me from list ?

@artubac,
Is it still you plan to submit a patch for this feature?
If so and you will work on bakefile site, please let us know, so that this ticket can be closed.

Thank you.

Note: See TracTickets for help on using tickets.