×

Discussion Board

Results 1 to 5 of 5
  1. #1
    Regular Contributor
    Join Date
    Sep 2003
    Posts
    134

    Unhappy mwldsym2.exe: Undefined symbol in Carbide.C++ 1.3

    Hello,

    Strange problem with Carbide.C++ 1.3 and linking.
    Few quetions to Carbide developers team.
    Most of errors with linking was solved. Need to help with 3 last.

    My project compiles and links good on GCCE target and fails link on WINSCW.

    Listing is quite big

    mwldsym2.exe: Undefined symbol: 'void CAknView::Reserved_MtsmObject(void) (?Reserved_MtsmObject@CAknView@@UAEXXZ)'
    mwldsym2.exe: referenced from 'const CBaseView::`vftable' (??_7CBaseView@@6B@~)' in baseview.o
    mwldsym2.exe: Undefined symbol: 'void CAknView::Reserved_MtsmPosition(void) (?Reserved_MtsmPosition@CAknView@@UAEXXZ)'
    mwldsym2.exe: referenced from 'const CBaseView::`vftable' (??_7CBaseView@@6B@~)' in baseview.o
    mwldsym2.exe: Undefined symbol: 'void * CAknSettingItemList::ExtensionInterface(class TUid) (?ExtensionInterface@CAknSettingItemList@@UAEPAXVTUid@@@Z)'
    mwldsym2.exe: referenced from 'const CAknCategorySettingListbox::`vftable' (??_7CAknCategorySettingListbox@@6B@~)' in CatItmDlg.o
    mwldsym2.exe: referenced from 'const CAknExSettingListListbox::`vftable' (??_7CAknExSettingListListbox@@6B@~)' in aknSetLst.o
    mwldsym2.exe: Undefined symbol: 'void CBaseView:: DoDeactivate(void) (?DoDeactivate@CBaseView@@EAEXXZ)'
    mwldsym2.exe: referenced from 'const CFeatureMessageView::`vftable' (??_7CFeatureMessageView@@6B@~)' in FeatureMessageView.o
    mwldsym2.exe: Undefined symbol: 'void CBaseView:: DoActivateL(class TVwsViewId const &, class TUid, class TDesC8 const &) (?DoActivateL@CBaseView@@EAEXABVTVwsViewId@@VTUid@@ABVTDesC8@@@Z)'
    mwldsym2.exe: referenced from 'const CFeatureMessageView::`vftable' (??_7CFeatureMessageView@@6B@~)' in FeatureMessageView.o
    mwldsym2.exe: Undefined symbol: 'void CAknSelectionListDialog::CAknSelectionListDialog_Reserved(void) (?CAknSelectionListDialog_Reserved@CAknSelectionListDialog@@UAEXXZ)'
    mwldsym2.exe: referenced from 'const CMySelectionListDialog::`vftable' (??_7CMySelectionListDialog@@6B@~)' in ACAppUi.o
    mwldsym2.exe: Undefined symbol: 'void CAknSelectionListDialog::CAknDialog_Reserved(void) (?CAknDialog_Reserved@CAknSelectionListDialog@@UAEXXZ)'
    mwldsym2.exe: referenced from 'const CMySelectionListDialog::`vftable' (??_7CMySelectionListDialog@@6B@~)' in ACAppUi.o
    mwldsym2.exe: Undefined symbol: 'void CAknSelectionListDialog::CEikDialog_Reserved_2(void) (?CEikDialog_Reserved_2@CAknSelectionListDialog@@UAEXXZ)'
    mwldsym2.exe: referenced from 'const CMySelectionListDialog::`vftable' (??_7CMySelectionListDialog@@6B@~)' in ACAppUi.o
    mwldsym2.exe: Undefined symbol: 'void CAknSelectionListDialog::CEikDialog_Reserved_1(void) (?CEikDialog_Reserved_1@CAknSelectionListDialog@@UAEXXZ)'
    mwldsym2.exe: referenced from 'const CMySelectionListDialog::`vftable' (??_7CMySelectionListDialog@@6B@~)' in ACAppUi.o
    mwldsym2.exe: Undefined symbol: 'void * CAknSelectionListDialog::ExtensionInterface(class TUid)
    (?ExtensionInterface@CAknSelectionListDialog@@UAEPAXVTUid@@@Z)'
    mwldsym2.exe: referenced from 'const CMySelectionListDialog::`vftable' (??_7CMySelectionListDialog@@6B@~)' in ACAppUi.o

    Reason for CMySelectionListDialog not linked well is quite odd.
    Class CMySelectionListDialog declared in .cpp file, private class that used only inside this cpp. Moving declaration into .h solved part of errors.
    And now I got 5 errors:

    Undefined symbol: 'void * CAknSettingItemList::ExtensionInterface(class TUid) (?ExtensionInterface@CAknSettingItemList@@UAEPAXVTUid@@@Z)'

    Undefined symbol: 'void CAknView::Reserved_MtsmObject(void) (?Reserved_MtsmObject@CAknView@@UAEXXZ)'

    Undefined symbol: 'void CAknView::Reserved_MtsmPosition(void) (?Reserved_MtsmPosition@CAknView@@UAEXXZ)'

    Undefined symbol: 'void CBaseView:: DoActivateL(class TVwsViewId const &, class TUid, class TDesC8 const &) (?DoActivateL@CBaseView@@EAEXABVTVwsViewId@@VTUid@@ABVTDesC8@@@Z)'

    Undefined symbol: 'void CBaseView:: DoDeactivate(void) (?DoDeactivate@CBaseView@@EAEXXZ)'

    Investigating more,
    class CBaseView : public CAknView.

    was declared as private:
    void CBaseView:: DoActivateL(class TVwsViewId const &, class TUid, class TDesC8 const &)
    void CBaseView:: DoDeactivate(void)
    and in CAknView declared as protected.

    Now I got 3 errors.

    Undefined symbol: 'void * CAknSettingItemList::ExtensionInterface(class TUid) (?ExtensionInterface@CAknSettingItemList@@UAEPAXVTUid@@@Z)'
    Undefined symbol: 'void CAknView::Reserved_MtsmObject(void) (?Reserved_MtsmObject@CAknView@@UAEXXZ)'
    Undefined symbol: 'void CAknView::Reserved_MtsmPosition(void) (?Reserved_MtsmPosition@CAknView@@UAEXXZ)'

    And I have no idea how to fix it.
    Last edited by ValentinK; 2008-03-14 at 11:54. Reason: Removing smiles as :D

  2. #2
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Oslo, Norway
    Posts
    28,748

    Re: mwldsym2.exe: Undefined symbol in Carbide.C++ 1.3

    Quote Originally Posted by ValentinK View Post
    Now I got 3 errors.

    Undefined symbol: 'void * CAknSettingItemList::ExtensionInterface(class TUid) (?ExtensionInterface@CAknSettingItemList@@UAEPAXVTUid@@@Z)'
    Undefined symbol: 'void CAknView::Reserved_MtsmObject(void) (?Reserved_MtsmObject@CAknView@@UAEXXZ)'
    Undefined symbol: 'void CAknView::Reserved_MtsmPosition(void) (?Reserved_MtsmPosition@CAknView@@UAEXXZ)'

    And I have no idea how to fix it.
    You should consider checking the necessary libraries in the SDK Help. If it does not help (however it should), you can do a binary search for the mangled symbol names. As I see the messages are coming from a WINSWC build, so check in epoc32\release\winscw\udeb\*.lib

  3. #3
    Regular Contributor
    Join Date
    Sep 2003
    Posts
    134

    Re: mwldsym2.exe: Undefined symbol in Carbide.C++ 1.3

    Quote Originally Posted by wizard_hu_ View Post
    You should consider checking the necessary libraries in the SDK Help. If it does not help (however it should), you can do a binary search for the mangled symbol names. As I see the messages are coming from a WINSWC build, so check in epoc32\release\winscw\udeb\*.lib
    Please read my post again. Project Do work for GCCE. and It linked and worked fine in VS.2005 Carbide.vs 3.01. But it fails in link stage on Carbide.C++ 1.3 with very strage message:
    I do use CAknView, but surely I dont it private: functions like Reserved_MtsmObject.

  4. #4
    Nokia Developer Moderator
    Join Date
    Feb 2006
    Location
    Oslo, Norway
    Posts
    28,748

    Re: mwldsym2.exe: Undefined symbol in Carbide.C++ 1.3

    Such symbols do not exist in my SDK (3rd MR), but there are some resembling ones:
    ?ExtensionInterface@CAknSettingItemList@@UAEPAXVTUid@@@Z seems to be
    ?ExtensionInterface@CAknSettingItemList@@EAEPAXVTUid@@@Z
    ?Reserved_MtsmObject@CAknView@@UAEXXZ is
    ?Reserved_MtsmObject@CAknView@@EAEXXZ
    and
    ?Reserved_MtsmPosition@CAknView@@UAEXXZ is
    ?Reserved_MtsmPosition@CAknView@@EAEXXZ
    And they reside in avkon.lib
    Unfortunately I am not really sure about the details, but in http://en.wikipedia.org/wiki/Microso..._Name_Mangling U and E say public and private virtual method respectively. Can it happen that CBaseView is a base, and you inherit it privately sometimes?

  5. #5
    Regular Contributor
    Join Date
    Sep 2003
    Posts
    134

    Re: mwldsym2.exe: Undefined symbol in Carbide.C++ 1.3

    I define this missed virtual private functions with empty implementations, and it now links.
    CBaseView was derived from CAknView.
    CAknExSettingListListbox from CAknSettingItemList. Both public.

Similar Threads

  1. retrieve GSM cell id
    By ibec in forum Symbian Networking & Messaging (Closed)
    Replies: 312
    Last Post: 2012-06-10, 06:45
  2. GoogleIt
    By deepika.mangla in forum Symbian
    Replies: 5
    Last Post: 2011-05-28, 11:04
  3. Fail to build syexpat 1.3 under 2nd FP3
    By harry_zhang in forum Symbian
    Replies: 10
    Last Post: 2010-03-19, 10:24
  4. Need one HTTP client example
    By vinayakak in forum Symbian Networking & Messaging (Closed)
    Replies: 15
    Last Post: 2008-01-06, 06:44
  5. illegal use of abstract class error...
    By kannabiran.krish in forum Symbian
    Replies: 7
    Last Post: 2007-08-17, 10:11

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×