Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    VC++ 6.0. Come superare il Warning C4786

    Ho un'applicazione in VC++ 6.0. Per necessità ho inserito codice reperito in rete per implementare una funzionalità.

    Quando compilo ho un errore Warning C4786. Mi son documentato.
    Il sito della Microsoft riconosce che è un bug del compilatore 6.0 e che può essere ignorato.
    La cosa però non mi convince molto.
    Qualcuno che si è trovato in situazione analoga sa come ovviare?


  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Perche' non mostri il codice e indichi dove si verifica e in quale condizione?

    In ogni caso, per evitare che ti venga visualizzato scrivi

    #pragma warning (disable : 4786)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Grazie per la risposta. Si avevo visto questa istruzione, ma vorrei cercare di capire meglio questo Warning, non vorrei che mi creasse problemi nel tempo.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Se dobbiamo aiutarti a capire e' bene che tu ci faccia capire ... dove si verifica e con quale codice ...

    Se non fornisci questi dettagli, personalmente non ti posso dire di piu' ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Grazie per la collaborazione.
    Allora inserendo l'istruzione: #pragma warning (disable : 4786)
    in testa a degli header ho eliminato la serie dei Warning. Questo problema diciamo è risolto.

    Ora però ho un altro problema, compilando l'applicazione in modalità Release nella fase di link ho questa serie di unresolved:

    error LNK2001: unresolved external symbol __imp__ShellExecuteA@24
    error LNK2001: unresolved external symbol __imp__RegCloseKey@4
    error LNK2001: unresolved external symbol __imp__RegQueryValueA@16
    error LNK2001: unresolved external symbol __imp__RegOpenKeyExA@20
    error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Lockit::~_Lockit(void)" (__imp_??1_Lockit@std@@QAE@XZ)
    error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Lockit::~_Lockit(void)" (__imp_??1_Lockit@std@@QAE@XZ)
    error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Lockit::_Lockit(void)" (__imp_??0_Lockit@std@@QAE@XZ)
    error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall std::_Lockit::_Lockit(void)" (__imp_??0_Lockit@std@@QAE@XZ)

    Come ho detto all'inizio ho inserito nella mia applicazione codice trovato in rete per eseguire una certa funzioanlità.
    Qualcuno sa quali librerie devo inserire per risolvere questi link?

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da IlViandante2960
    Ora però ho un altro problema, compilando l'applicazione in modalità Release nella fase di link ho questa serie di unresolved:
    Hai inserito l'include

    <windows.h>

    ?

    Per quanto riguarda i riferimenti a

    _Lockit::~_Lockit(void)

    probabilmente hai dimenticato il distruttore di quella classe ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    La mia applicazione utilizza le MFC. L'header di riferimento è
    #include "stdafx.h"

    L'errore LNK2001 l'ho sul codice aggiunto.
    Infatti la differenza è che nella mia applicazione NON faccio uso delle librerie di default,
    (l'opzione di link d'ignorare le librerie di default è checcata)
    mentre il codice che ho preso da internet usa le librerie di default.

    Il problema è trovare ste librerie di default...

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ma di che codice aggiuntivo si tratta?

    Guarda che c'e' un errore sulla classe

    _Lockit

    (non trova il costruttore e il distruttore) ...

    Dove sta questa classe?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Forse ho risolto, ho trovato le librerie. Almeno ora non ho messaggi di errore in fase di compilazione (Release). Domani vedrò se tutto il codice funziona....
    Le librerie che ho aggiunto alle opzioni di link sono:
    SHELL32.LIB - ADVAPI32.LIB - MSVCPRTD.LIB.

    Le prime 2 librerie mi risolvono i primi 4 unresolved external, la MSVC... mi risolve i vari std::_Lockit::~_Lockit

    Grazie Oregon per la collaborazione... Se avrò altri problemi mi farò vivo nel forum

    At majora

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    La MSVCPRTD.LIB e' per la versione debug (D finale) ... devi usare la MSVCPRT.LIB
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.