Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ld:对符号'的未定义引用;log2@@GLIBC_2.2.5';_C_Mpi_Linker Errors - Fatal编程技术网

ld:对符号'的未定义引用;log2@@GLIBC_2.2.5';

ld:对符号'的未定义引用;log2@@GLIBC_2.2.5';,c,mpi,linker-errors,C,Mpi,Linker Errors,怎么了 for (level = 1; level <= log2((double)size); level++) ^ 似乎log2(4)可以工作,但我不能传入变量 为了链接libm,您需要添加-lm参数,如本文档所示;说: 如果您的代码包含数学函数(如exp、cos等), 您需要链接到数学库libm.so。这样做了, 与串行编译一样,通过将-lm添加到 编译命令,就是 mpicc-o示例sample.c-lm 谢谢,我已经修好了 [ji

怎么了

for (level = 1; level <= log2((double)size); level++)
                         ^

似乎
log2(4)
可以工作,但我不能传入变量

为了链接
libm
,您需要添加
-lm
参数,如本文档所示;说:

如果您的代码包含数学函数(如exp、cos等), 您需要链接到数学库libm.so。这样做了, 与串行编译一样,通过将-lm添加到 编译命令,就是

mpicc-o示例sample.c-lm


谢谢,我已经修好了
[jiewmeng@JM Assign3]$ mpicc -o cpi cpi.c && mpirun -np 16 cpi
/usr/bin/ld: /tmp/cca9x4he.o: undefined reference to symbol 'log2@@GLIBC_2.2.5'
/usr/bin/ld: note: 'log2@@GLIBC_2.2.5' is defined in DSO /usr/lib/libm.so.6 so try adding it to the linker command line
/usr/lib/libm.so.6: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status