• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Link problem with threeview widget

New Here ,
Mar 21, 2017 Mar 21, 2017

Copy link to clipboard

Copied

Hi everyone,

I'm beginner with InDesign Plug In programming and i'm trying to create a three view widget.

I think i did something wrong, i get about 30 linking error when compiling, if someone see something i missed it would be great to help...

here is the step i followed :

So i firstly defined a ClassID this way :

---------------------------------------------------------------------------------------------------------------------

DECLARE_PMID(kClassIDSpace, kMyPluginMessageListWidgetBoss, kMyPluginPrefix + 7)

---------------------------------------------------------------------------------------------------------------------

then i defined a type this way :

-----------------------------------------------------------------------------------------------------------------------

type MyPluginMessageListBox(kViewRsrcType) : TreeViewWidget(ClassID = kMyPluginMessageListWidgetBoss){ };

----------------------------------------------------------------------------------------------------------------------

then i described my threeviewwidgetboss and the implementations it will contain in classdescriptiontable :

----------------------------------------------------------------------------------------------------------------------

     Class

    {

        kMyPluginMessageListWidgetBoss

        kTreeViewWidgetBoss,

        {

            /** Furnishes application framework with widgets as needed

            */

            IID_ITREEVIEWWIDGETMGR,  kMyPluginMessageTreeViewWidgetMgrImpl,

            /** Adapts our data model to the needs of the application framework

            */

            IID_ITREEVIEWHIERARCHYADAPTER,  kMyPluginMessageTreeViewAdapterImpl,

            /**

               Implements the observer that receives the messages from the application

            when user clicks in the list box, see DCLSizListBoxObserver.

            */

            IID_IOBSERVER,  kMyPluginMessageListBoxObserverImpl,

        }

    },

----------------------------------------------------------------------------------------------------------------------

after all that i mentionned the implementation in the id.h (DECLARE_PMID) and in the factorylist (REGISTER_PMINTERFACE) and i finally created all the needed implementation.

i also added in the linker input the library WidgetBin.lib.

after a quick debug of the logical treatments, i get the followings linker errors (LNK 2001) :

debugger output :

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1>DAJMelodyPlugInListBoxObserver.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: __thiscall NodeID::~NodeID(void)" (__imp_??1NodeID@@QAE@XZ) référencé dans la fonction "void __cdecl K2destroy<class NodeID>(class NodeID *)" (??$K2destroy@VNodeID@@@@YAXPAVNodeID@@@Z)

1>DAJMelodyPlugInListBoxObserver.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: long __thiscall NodeID::GetNodeType(void)const " (__imp_?GetNodeType@NodeID@@QBEJXZ) référencé dans la fonction "public: virtual void __thiscall DAJMelodyPlugInListBoxObserver::Update(class IDType<struct ClassID_tag> const &,class ISubject *,class IDType<struct PMIID_tag> const &,void *)" (?Update@DAJMelodyPlugInListBoxObserver@@UAEXABV?$IDType@UClassID_tag@@@@PAVISubject@@ABV?$IDType@UPMIID_tag@@@@PAX@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "__declspec(dllimport) public: long __thiscall NodeID::GetNodeType(void)const " (__imp_?GetNodeType@NodeID@@QBEJXZ)

1>DAJMelodyPlugInListBoxObserver.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: class NodeIDClass * __thiscall NodeID::Get(void)const " (__imp_?Get@NodeID@@QBEPAVNodeIDClass@@XZ) référencé dans la fonction "public: virtual void __thiscall DAJMelodyPlugInListBoxObserver::Update(class IDType<struct ClassID_tag> const &,class ISubject *,class IDType<struct PMIID_tag> const &,void *)" (?Update@DAJMelodyPlugInListBoxObserver@@UAEXABV?$IDType@UClassID_tag@@@@PAVISubject@@ABV?$IDType@UPMIID_tag@@@@PAX@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "__declspec(dllimport) public: class NodeIDClass * __thiscall NodeID::Get(void)const " (__imp_?Get@NodeID@@QBEPAVNodeIDClass@@XZ)

1>DAJMelodyPlugInListBoxObserver.obj : error LNK2019: symbole externe non résolu "public: __thiscall DAJMelodyPlugInListBoxObserver::DAJMelodyPlugInListBoxObserver(class IPMUnknown *)" (??0DAJMelodyPlugInListBoxObserver@@QAE@PAVIPMUnknown@@@Z) référencé dans la fonction _CreatekDAJMelodyPlugInMessageListBoxObserverImpl_

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: __thiscall CTreeViewWidgetMgr::CTreeViewWidgetMgr(class IPMUnknown *,long)" (__imp_??0CTreeViewWidgetMgr@@QAE@PAVIPMUnknown@@J@Z) référencé dans la fonction "public: __thiscall DAJMelodyPlugInMessageTreeViewWidgetMgr::DAJMelodyPlugInMessageTreeViewWidgetMgr(class IPMUnknown *)" (??0DAJMelodyPlugInMessageTreeViewWidgetMgr@@QAE@PAVIPMUnknown@@@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2019: symbole externe non résolu "__declspec(dllimport) public: virtual __thiscall CTreeViewWidgetMgr::~CTreeViewWidgetMgr(void)" (__imp_??1CTreeViewWidgetMgr@@UAE@XZ) référencé dans la fonction "public: virtual void * __thiscall DAJMelodyPlugInMessageTreeViewWidgetMgr::`scalar deleting destructor'(unsigned int)" (??_GDAJMelodyPlugInMessageTreeViewWidgetMgr@@UAEPAXI@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall CTreeViewWidgetMgr::AddRef(void)const " (?AddRef@CTreeViewWidgetMgr@@UBEXXZ)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "protected: virtual void __thiscall CTreeViewWidgetMgr::ApplyHighlightToWidget(class NodeID const &,class IControlView *,long)const " (?ApplyHighlightToWidget@CTreeViewWidgetMgr@@MBEXABVNodeID@@PAVIControlView@@J@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "protected: virtual void __thiscall CTreeViewWidgetMgr::ApplyIndentToWidget(class NodeID const &,class IPanelControlData *,long)const " (?ApplyIndentToWidget@CTreeViewWidgetMgr@@MBEXABVNodeID@@PAVIPanelControlData@@J@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "public: virtual short __thiscall CTreeViewWidgetMgr::ApplyNodeIDToWidget(class NodeID const &,class IControlView *,long)const " (?ApplyNodeIDToWidget@CTreeViewWidgetMgr@@UBEFABVNodeID@@PAVIControlView@@J@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "public: virtual class IControlView * __thiscall CTreeViewWidgetMgr::CreateWidgetForNode(class NodeID const &)const " (?CreateWidgetForNode@CTreeViewWidgetMgr@@UBEPAVIControlView@@ABVNodeID@@@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "protected: virtual class PMReal __thiscall CTreeViewWidgetMgr::GetBaseIndentOffset(class IControlView *)const " (?GetBaseIndentOffset@CTreeViewWidgetMgr@@MBE?AVPMReal@@PAVIControlView@@@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "protected: virtual class PMReal __thiscall CTreeViewWidgetMgr::GetIndent(class NodeID const &)const " (?GetIndent@CTreeViewWidgetMgr@@MBE?AVPMReal@@ABVNodeID@@@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "public: virtual class PMReal __thiscall CTreeViewWidgetMgr::GetIndentForNode(class NodeID const &)const " (?GetIndentForNode@CTreeViewWidgetMgr@@UBE?AVPMReal@@ABVNodeID@@@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "public: virtual class PMReal __thiscall CTreeViewWidgetMgr::GetNodeWidgetHeight(class NodeID const &)const " (?GetNodeWidgetHeight@CTreeViewWidgetMgr@@UBE?AVPMReal@@ABVNodeID@@@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "public: virtual class PMReal __thiscall CTreeViewWidgetMgr::GetNodeWidgetWidth(class NodeID const &)const " (?GetNodeWidgetWidth@CTreeViewWidgetMgr@@UBE?AVPMReal@@ABVNodeID@@@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "public: virtual long __thiscall CTreeViewWidgetMgr::GetStyle(void)const " (?GetStyle@CTreeViewWidgetMgr@@UBEJXZ)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "protected: virtual class PMReal __thiscall CTreeViewWidgetMgr::GetTreeViewWidth(void)const " (?GetTreeViewWidth@CTreeViewWidgetMgr@@MBE?AVPMReal@@XZ)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "public: virtual class IDType<struct WidgetID_tag> __thiscall CTreeViewWidgetMgr::GetWidgetTypeForNode(class NodeID const &)const " (?GetWidgetTypeForNode@CTreeViewWidgetMgr@@UBE?AV?$IDType@UWidgetID_tag@@@@ABVNodeID@@@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "protected: virtual void __thiscall CTreeViewWidgetMgr::HideExpanderIfNotExpandable(class NodeID const &,class IPanelControlData *,long)const " (?HideExpanderIfNotExpandable@CTreeViewWidgetMgr@@MBEXABVNodeID@@PAVIPanelControlData@@J@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "private: virtual void __thiscall CTreeViewWidgetMgr::InternalSetStyle(long)" (?InternalSetStyle@CTreeViewWidgetMgr@@EAEXJ@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "protected: virtual short __thiscall CTreeViewWidgetMgr::IsOptionSet(enum CTreeViewWidgetMgr::Options)const " (?IsOptionSet@CTreeViewWidgetMgr@@MBEFW4Options@1@@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "private: virtual void __thiscall CTreeViewWidgetMgr::LazyRegisterStyles(void)const " (?LazyRegisterStyles@CTreeViewWidgetMgr@@EBEXXZ)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall CTreeViewWidgetMgr::PreDeleteWidget(class IControlView *)" (?PreDeleteWidget@CTreeViewWidgetMgr@@UAEXPAVIControlView@@@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "public: virtual class IPMUnknown * __thiscall CTreeViewWidgetMgr::QueryInterface(class IDType<struct PMIID_tag>)const " (?QueryInterface@CTreeViewWidgetMgr@@UBEPAVIPMUnknown@@V?$IDType@UPMIID_tag@@@@@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "protected: virtual void __thiscall CTreeViewWidgetMgr::RegisterStyleWidget(long,unsigned long,class IDType<struct PluginID_tag>)" (?RegisterStyleWidget@CTreeViewWidgetMgr@@MAEXJKV?$IDType@UPluginID_tag@@@@@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall CTreeViewWidgetMgr::Release(void)const " (?Release@CTreeViewWidgetMgr@@UBEXXZ)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "protected: virtual void __thiscall CTreeViewWidgetMgr::SetNodeIcon(class IPanelControlData *,unsigned long,class IDType<struct PluginID_tag>,class IDType<struct WidgetID_tag>)const " (?SetNodeIcon@CTreeViewWidgetMgr@@MBEXPAVIPanelControlData@@KV?$IDType@UPluginID_tag@@@@V?$IDType@UWidgetID_tag@@@@@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "protected: virtual void __thiscall CTreeViewWidgetMgr::SetNodeName(class IPanelControlData *,class PMString const &,class IDType<struct WidgetID_tag>)const " (?SetNodeName@CTreeViewWidgetMgr@@MBEXPAVIPanelControlData@@ABVPMString@@V?$IDType@UWidgetID_tag@@@@@Z)

1>DAJMelodyPlugInMessageTreeViewWidgetMgr.obj : error LNK2001: symbole externe non résolu "public: virtual void __thiscall CTreeViewWidgetMgr::SetStyle(long)" (?SetStyle@CTreeViewWidgetMgr@@UAEXJ@Z)

1>..\debug\sdk\DAJMelodyPlugin.sdk.pln : fatal error LNK1120: 30 externes non résolus

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Thanks for reading if you see something i did wrong or missed in the way please inform me !

Have a nice day.

Jeremy

TOPICS
SDK

Views

560

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Expert , Mar 21, 2017 Mar 21, 2017

Link to DV_WidgetBin.lib as well, the definitions for methods in CTreeViewWidgetMgr are defined in this library

-Manan

Votes

Translate

Translate
Community Expert ,
Mar 21, 2017 Mar 21, 2017

Copy link to clipboard

Copied

Link to DV_WidgetBin.lib as well, the definitions for methods in CTreeViewWidgetMgr are defined in this library

-Manan

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Mar 23, 2017 Mar 23, 2017

Copy link to clipboard

Copied

LATEST

It's solved, you were right ,it was the library that was missing !

Thanks a lot !

Regards,

Jeremy

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines