Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [c++]errore linker LNK2019

    http://msdn.microsoft.com/en-us/libr...ONS%29&rd=true


    ciao.
    Ho un progetto che genera una libreria statica e una dll .
    la libreria viene inclusa in un secondo progetto e, ogni volta che aggiungo una classe alla libreria e compilo se utilizzo questa classe mi da un errore :linker LNK2019 e non ho ancora capito cosa provoca questo.
    Il progetto ha sempre funzionato con vs 2008 adesso sto passando alla 2010 e ci sono un sacco di casini.
    ma forse non è neanche quello , non mi va di parlare se non conosco a fondo l'argomento.
    ho delle variabili dichiarate inline , scusate se sbaglio il termine , voglio dire cosi:
    codice:
    #include "factory.h"
    #include "wm4LightingEffect.h"
    #include "IL/il.h"
    #include "textureex.h"
    #include "textureeffectex.h"
    #include "MaterialPhong.h"
    
    NodePtr m_pkObjLetto = NULL;     //var error?????????????????????????????
    NodePtr m_pkObjTorus = NULL;
    NodePtr m_pkObjSphere = NULL;
    using namespace Wm4;
    CFactory::CFactory(void)
    {
    }
    e utilizzo un unico file con definizioni e dichiarazioni cosi:
    codice:
    #include <cv.h>
    #include <highgui.h>
    
    #include "ARToolKitPlus/TrackerMultiMarkerImpl.h"
    #include "ARToolKitPlus/ar.h"
    #include "structs.h"
    #include "wm4materialstate.h"
    
    #include "Model.h"
    #include "Presenter.h"
    #include "DynamicTextures.h"
    
    #include "Model.cxx"
    #include "Presenter.cxx"
    #include "DynamicTextures.cxx"
    è per qusto che ho inserito le variabili inline , altrimenti non riuscivo ad assegnargli niente,
    cosa puo essere?
    grazie.

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Ma a cosa si riferiscono quelle variabili? Quel m_ mi fa pensare che siano variabili membro (almeno se ricordo la tua notazione). Posta qualche dettaglio in più.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    ti ricordi shodan sono relative a questo post:
    http://forum.html.it/forum/showthrea...readid=1402914
    e sono variabili membro , le ho messe li perchè se le mettevo nell header appena gli assegnavo un valore mi davano errore.
    Mi chiedo se non sia meglio utilizzare un metodo diverso del file che include tutte le librerie e i .h.
    ciao.

  5. #5
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Al di la dell'errore in se, non è in quel modo in cui si inizializzano le variabili membro (non dichiarate static). Devi usare il costruttore della classe. E il costruttore devi metterlo nel file .cpp comune. A quale header e classe appartengono?
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    appartengono al file header wm4Node e alla classe Node, NodePtr è uno smart pointer di <Node>


    il file header wm4Node è incluso all' interno del .cpp comune

  7. #7
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    NodePtr è uno smart pointer di <Node>
    Giusto per curiosità: perché vuoi azzerare uno smart pointer che si auto azzera da solo quando lo dichiari?
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    perchè ero stanco , e non sono esperto.
    Pittosto , riesci a buttarmi giu un insieme di classi che facciano il model view presenter?
    io con gli include e i riferimenti circolari non ci salto fuori , se mi riesci ad aiutare..
    grazie.

    altra cosa , ho messo gli inline davanti alle funzioni usate dalla libreria , ma perchè mettendo inline non da errore non l'ho mica ancora capito.
    ciao

  9. #9
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Mica era un rimprovero.
    Però non ho confidenza con quel pattern, quindi non ho idea di come strutturare le classi.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    Originariamente inviato da shodan
    Mica era un rimprovero.
    meno male!

    e per qunto riguarda le funzioni inline perchè non danno errore come invece quelle non inline?

    ciao.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.