संकलित नहीं कर रहा है यहां एक साधारण एमपीआई है "हैलो, वर्ल्ड!" कार्यक्रम।ओपन एमपीआई "हैलो, वर्ल्ड!"
#include <stdio.h>
#include <mpi.h>
int main(int argc, char **argv)
{
int size, rank;
MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &size);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
printf("SIZE = %d RANK = %d\n",size,rank);
MPI_Finalize();
return(0);
}
हालांकि, यह संकलन नहीं लगता है:
Undefined first referenced
symbol in file
MPI::Datatype::Free() /var/tmp//ccE6aG2w.o
MPI::Win::Free() /var/tmp//ccE6aG2w.o
MPI::Comm::Comm() /var/tmp//ccE6aG2w.o
ld: fatal: symbol referencing errors. No output written to main
collect2: ld returned 1 exit status
मैं एक बहुत, देखी मेलिंग सूची, उनमें से हजारों googled है। वे कहते हैं कि libmpi_cxx
लिंक नहीं कर रहा है। लेकिन यह कंपाइलर झंडे में है।
mpic++ --showme:compile
-I/usr/openmpi/ompi-1.5/include -I/usr/openmpi/ompi-1.5/include/openmpi
mpic++ --showme:link
-R/opt/mx/lib -R/usr/openmpi/ompi-1.5/lib -L/usr/openmpi/ompi-1.5/lib -lmpi -lopen-rte -lopen-pal -lnsl -lrt -lm -ldl -lsocket -lmpi_cxx
मेरे संकलक जी ++ है:
यहाँ --showme
डाटा नहीं है।
क्या आप सही (सही) लाइब्रेरी को सही तरीके से जोड़ रहे हैं? –
@ मार्कगार्शिया उचित लिंकिंग के बाद आपका क्या मतलब है? – efpies
क्या आप हमें इस कोड को संकलित और लिंक करने के लिए उपयोग की जाने वाली पूर्ण कमांड लाइन (ओं) दिखा सकते हैं? जैसा लिखा है, आपका कोड 'mpicc' के साथ संकलित और लिंक करने में सक्षम होना चाहिए, क्योंकि यह C++ बाइंडिंग का कोई संदर्भ नहीं देता है। – Novelocrat