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

    [wxDev-C++ & MPI.H] Come risolvere un Linker error ed altri errori

    Ciao a tutti, all'università sto affrontanto il corso di Calcolo Parallelo e Distribuito, davvero molto interessante. Ho scaricato dal sito http://www-unix.mcs.anl.gov/mpi/mpich1/download.html mpich che contiene il simulatore, gli include e le librerie. Nella configurazione del simulatore nessun problema, l'host mi è stato riconosciuto.

    Questo però al momento mi è inutile perchè non riesco a compilare utilizzando il wxDec-C++ il sorgente contenente l'inclusione della libreria mpi.h.
    Ho copiato le cartelle lib e include dalle cartelle sdk e sdk.gcc alla cartella di dev, aggiungendo tutti i file a quelle già presenti ed inoltre nelle impostazioni del compilatore ho aggiunto le cartelle originarie all'interno della directory del MPich.


    Questo è il codice del programma di test:

    codice:
    #include <mpi.h>
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[])
    {
        int rank, size;
    
        MPI_Init(&argc, &argv);
        MPI_Comm_rank(MPI_COMM_WORLD, &rank);
        MPI_Comm_size(MPI_COMM_WORLD, &size);
    
        printf("I am %d of %d\n", rank, size);
        fflush(stdout);
    
        MPI_Finalize();
        return 0;
    }
    Questo è l'errore che mi viene riportato:

    codice:
      [Linker Error] undefined reference to `MPI_Init' 
      [Linker Error] undefined reference to `MPI_Comm_rank' 
      [Linker Error] undefined reference to `MPI_Comm_size' 
      [Linker Error] undefined reference to `MPI_Finalize' 
      ld returned 1 exit status
    Questo è il log di compilazione:

    codice:
    Compilatore: Default GCC compiler
    Esecuzione di  g++.exe...
    g++.exe "*MY DIRECTORY*\Prova.cpp" -o "*MY DIRECTORY*\Prova.exe"    -I"C:\Programmi\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Programmi\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Programmi\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Programmi\Dev-Cpp\include\c++\3.4.2" -I"C:\Programmi\Dev-Cpp\include" -I"C:\Programmi\Dev-Cpp\" -I"C:\Programmi\Dev-Cpp\include\common\wx\msw" -I"C:\Programmi\Dev-Cpp\include\common\wx\generic" -I"C:\Programmi\Dev-Cpp\include\common\wx\fl" -I"C:\Programmi\Dev-Cpp\include\common\wx\gizmos" -I"C:\Programmi\Dev-Cpp\include\common\wx\html" -I"C:\Programmi\Dev-Cpp\include\common\wx\mmedia" -I"C:\Programmi\Dev-Cpp\include\common\wx\net" -I"C:\Programmi\Dev-Cpp\include\common\wx\ogl" -I"C:\Programmi\Dev-Cpp\include\common\wx\plot" -I"C:\Programmi\Dev-Cpp\include\common\wx\protocol" -I"C:\Programmi\Dev-Cpp\include\common\wx\stc" -I"C:\Programmi\Dev-Cpp\include\common\wx\svg" -I"C:\Programmi\Dev-Cpp\include\common\wx\xml" -I"C:\Programmi\Dev-Cpp\include\common\wx\xrc" -I"C:\Programmi\Dev-Cpp\include\common\wx" -I"C:\Programmi\Dev-Cpp\include\common" -I"C:\Programmi\MPICH\SDK.gcc\include" -I"C:\Programmi\MPICH\SDK\Include"  -L"C:\Programmi\Dev-Cpp\Lib" -L"C:\Programmi\MPICH\SDK\Lib" -L"C:\Programmi\MPICH\SDK.gcc\lib" 
    C:\DOCUME~1\*USER*\IMPOST~1\Temp/cc4Abaaa.o:Prova.cpp: (.text+0x38) : undefined reference to `MPI_Init'
    C:\DOCUME~1\*USER*\IMPOST~1\Temp/cc4Abaaa.o:Prova.cpp: (.text+0x4b) : undefined reference to `MPI_Comm_rank'
    
    C:\DOCUME~1\*USER*\IMPOST~1\Temp/cc4Abaaa.o:Prova.cpp: (.text+0x5e) : undefined reference to `MPI_Comm_size'
    C:\DOCUME~1\*USER*\IMPOST~1\Temp/cc4Abaaa.o:Prova.cpp: (.text+0x8d) : undefined reference to `MPI_Finalize'
    collect2: ld returned 1 exit status
    
    Esecuzione terminata
    Grazie 1000 per l'aiuto
    MondoLibero: Informazione Libera, Varia ed Eventuale
    Sito di informazione varia ed eventuale. Quando ho voglia scrivo di ciò che mi pare. Pubblico guide, recensioni, notizie, critiche e tutto ciò che mi passa sotto mano e che penso sia interessante.

  2. #2
    Devi linckare la libreria compilata mpi, oppure includere il sorgente oltre l'header di quella libreria.

  3. #3
    Originariamente inviato da denis76
    Devi linckare la libreria compilata mpi, oppure includere il sorgente oltre l'header di quella libreria.
    Ciao, grazie della risposta ma non ho capito cosa aggiungere, potresti farmi un esempio per favore?
    MondoLibero: Informazione Libera, Varia ed Eventuale
    Sito di informazione varia ed eventuale. Quando ho voglia scrivo di ciò che mi pare. Pubblico guide, recensioni, notizie, critiche e tutto ciò che mi passa sotto mano e che penso sia interessante.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Nessun esempio ... aggiungi il file di libreria quando compili ...

    Come compili? Con un IDE? Da linea di comando?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Originariamente inviato da oregon
    Nessun esempio ... aggiungi il file di libreria quando compili ...

    Come compili? Con un IDE? Da linea di comando?
    Compilo dal wxDev-C++
    MondoLibero: Informazione Libera, Varia ed Eventuale
    Sito di informazione varia ed eventuale. Quando ho voglia scrivo di ciò che mi pare. Pubblico guide, recensioni, notizie, critiche e tutto ciò che mi passa sotto mano e che penso sia interessante.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da Skull260287
    Compilo dal wxDev-C++
    Tramite una interfaccia grafica quindi? Un IDE? Esiste un menu "opzioni" o qualcosa del genere?

    Se c'e', vedi se puoi indicare delle librerie aggiuntive.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Originariamente inviato da oregon
    Tramite una interfaccia grafica quindi? Un IDE? Esiste un menu "opzioni" o qualcosa del genere?

    Se c'e', vedi se puoi indicare delle librerie aggiuntive.
    Si c'è nelle opzioni del compilatore e nella sezione dedicata alle librerie ho già aggiunto lae cartelle lib presenti all'interno dell zio prelevato da http://www-unix.mcs.anl.gov/mpi/mpich1/
    MondoLibero: Informazione Libera, Varia ed Eventuale
    Sito di informazione varia ed eventuale. Quando ho voglia scrivo di ciò che mi pare. Pubblico guide, recensioni, notizie, critiche e tutto ciò che mi passa sotto mano e che penso sia interessante.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Quale versione? Quale zip?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Originariamente inviato da oregon
    Quale versione? Quale zip?
    mpich.nt.1.2.5.exe (6 MB June 8, 2003)

    Presente su http://www-unix.mcs.anl.gov/mpi/mpich1/mpich-nt/
    MondoLibero: Informazione Libera, Varia ed Eventuale
    Sito di informazione varia ed eventuale. Quando ho voglia scrivo di ciò che mi pare. Pubblico guide, recensioni, notizie, critiche e tutto ciò che mi passa sotto mano e che penso sia interessante.

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Oltre ad indicare la directory delle librerie, hai aggiunto la libreria

    libmpich.a

    esplicitamente nel tuo progetto?
    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.