Cubo di rubik codice sorgente

di il
20 risposte

Cubo di rubik codice sorgente

Buona sera ,
Ho un codice sorgente che nn riesco a compilare . Mi da un errore su una funzione undefined pop (). Un errore del linking dice . Solo che dn parecchio arrugginito e nn mi viene in mente che cosa possa essere, se vi passo il file sorgente qualcuno può darmi un consiglio ? Mi sento un po' perso.un aiuto mi servirebbe. Il programma inplementrrebbe in teoria un algoritmo che risolve il classico cubo di rubik. Se a qualcuno interessa gli passo il file sorgente.

20 Risposte

  • Re: Cubo di rubik codice sorgente

    Ciao,
    se hai un codice sorgente che non funziona, prova a postarlo e indicare quale errore ottieni e in quale zona di codice. Qualcuno che trova l'errore e ti dà una mano c'è di sicuro.

  • Re: Cubo di rubik codice sorgente

    In un forum si propone il codice e l'errore e ci si ragiona su.
  • Re: Cubo di rubik codice sorgente

    Ok, in mattinata lo posto nel forum, in questa sezione. Solo che è un poco lunghetto. Cosa preferite, allego tutto il file sorgente cosi provate di persona a compilarlo e potete rendervi conto degli errori( mi indica un errore di linker del compilatore per una funzione pop ()oppure vi invio solo qualche stralcio del codice e basta, sapete nn vorrei intaseintasare il post con circa 70 pagine di codice.ovviamente sono accette tutte le migliorie e le ottimizzazioni al programma.essendo nuovo nn saprei cosa sia meglio o più comodo x voi.io credo allegate il file sorgente.
  • Re: Cubo di rubik codice sorgente

    Direi che è meglio se alleghi tutto il codice. Se è un unico file o comunque pochi file puoi usare i tag CODE, altrimenti comprimi tutto in un archivio zip e lo alleghi al tuo post.
  • Re: Cubo di rubik codice sorgente

    Buon giorno,
    ho problemi ad allegarvi il file, mi dice che l' estensione del file non viene supportata.
    Ho provato con estensioneccp, zip e txt ma niente da fere .
  • Re: Cubo di rubik codice sorgente

    Ma se ti dà un errore in una specifica linea/funzione, posta solo quella.
  • Re: Cubo di rubik codice sorgente

    Ho pensato che postandovi gli errori di debug magari si capisce qualcosa...penso siano le librerie .(

    1>------ Build started: Project: Marco, Configuration: Debug Win32 ------
    1> rubik3.cpp
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(103): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(104): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(105): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(106): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(107): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(108): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(109): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(110): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(111): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(112): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(113): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(114): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(115): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(116): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(117): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(118): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(119): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(120): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(138): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304) : see declaration of 'scanf'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(149): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304) : see declaration of 'scanf'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(156): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304) : see declaration of 'scanf'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(160): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(234) : see declaration of 'fopen'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(170): warning C4996: 'fscanf': This function or variable may be unsafe. Consider using fscanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(253) : see declaration of 'fscanf'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(211): warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(304) : see declaration of 'scanf'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(1171): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\string.h(105) : see declaration of 'strcpy'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(1274): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(371) : see declaration of 'sprintf'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(1276): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdio.h(371) : see declaration of 'sprintf'
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(1556): warning C4244: 'argument' : conversion from 'time_t' to 'unsigned int', possible loss of data
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(444): warning C4715: 'opposto' : not all control paths return a value
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(1242): warning C4715: 'elimina' : not all control paths return a value
    1>LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
  • Re: Cubo di rubik codice sorgente

    La maggior parte sono warning ... comincia ad eliminarli scrivendo all'inizio

    #pragma warning(disable:4996)
  • Re: Cubo di rubik codice sorgente

    La situazione del debugging si modifica cosi:
    >------ Build started: Project: Marco, Configuration: Debug Win32 ------
    1> rubik3.cpp
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(1558): warning C4244: 'argument' : conversion from 'time_t' to 'unsigned int', possible loss of data
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(446): warning C4715: 'opposto' : not all control paths return a value
    1>d:\documents\visual studio 2010\projects\marco\marco\rubik3.cpp(1244): warning C4715: 'elimina' : not all control paths return a value
    1>LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

    L' errore piu ostico secondo me è quello di LINKER LNK1123. gli altri sono warnig.
    Come posso risolvere il problema?
    Mi spiace di non poter postare il codice sorgente...non so come mai quando allego il file e invio la risposta il forum non supporta il file.
  • Re: Cubo di rubik codice sorgente

    Se hai dei file oggetto del progetto originale, cancellali ...

    Sono dei file con estensione .obj

    Se hai una cartella Debug o una cartella Release senza sorgenti all'interno cancellale.
  • Re: Cubo di rubik codice sorgente

    fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
    Spesso questo messaggio indica che si sta' lincando librerie a 64 bit con codice compilato a 32 o viceversa.

    Gli altri warning sono abbastanza gravi, anche se indicati solo come warning.

    In particolare:
    warning C4715: 'opposto' : not all control paths return a value
    vuol dire che hai scritto qualcosa del tipo:
    
    int funzione(int arg)
    {
         if (arg == 0)
            return 1; 
        else
            { }
    }
    
    In questo caso, se arg vale 0, la funzione ritorna 1, altrimento ritorna un valore a casaccio, perche' non viene eseguito nessun return esplicito.
  • Re: Cubo di rubik codice sorgente

    Ciao,
    l' ultimo problema è questo, che non mi fa compilare il programma:

    1>------ Inizio compilazione: Progetto: marco, Configurazione: Debug Win32 ------
    1>LINK : fatal error LNK1123: errore durante la conversione in COFF: file non valido o danneggiato
    ========== Compilazione: 0 completate, 1 non riuscite, 0 aggiornate, 0 ignorate ==========
  • Re: Cubo di rubik codice sorgente

    Si è vero lui compila per la piattaforma win 32 mentre il mio pc è un 64 bit.
    La domanda è come faccio a dirgli che sto usando un sistema operativo a 64 bit invece chre 32?
  • Re: Cubo di rubik codice sorgente

    rubik83 ha scritto:


    Si è vero lui compila per la piattaforma win 32 mentre il mio pc è un 64 bit.
    La domanda è come faccio a dirgli che sto usando un sistema operativo a 64 bit invece chre 32?
    Non centra il sistema operativo con l'applicazione: puoi tranquillamente compilare l'applicazione a 32 bit ed eseguirla anche se hai il S.O. a 64 bit.

    Se apri il task manager vedrai una bella sfliza di applicazioni con scritto " *32": sono tutte a 32 bit!

    Il problema non e' li!

    Il problema e' legato a qualche libreria che includi che e' a 64 bit, oppure ha specificato (anche per sbaglio) che qualche sorgente deve essere compilato a 64 bit invece che a 32.

    Ricontrolla tutto: opzioni di compilazione, librerie incluse,opzioni del linker, ecc.

    Caso mai crea un nuovo progetto ed aggiungi uno alla volta solo i sorgenti
Devi accedere o registrarti per scrivere nel forum
20 risposte