【发布时间】:2019-03-26 02:11:27
【问题描述】:
我已经使用动态库成功开发了代码。 现在我需要搬到一个静态库。 因此,我按照作者的说明使用 make 构建了库,但是当我尝试构建我的程序时,我遇到了这些消息:
/usr/bin/ld: /usr/local/lib/libfft3dmpi.a(remap3d_wrap.o): in function `remap3d_create':
/home/mirco/Scrivania/fftmpi-1Oct18/src/remap3d_wrap.cpp:36: undefined reference to `operator new(unsigned long)'
/usr/bin/ld: /usr/local/lib/libfft3dmpi.a(remap3d_wrap.o): in function `remap3d_create_fortran(int, void**)':
/home/mirco/Scrivania/fftmpi-1Oct18/src/remap3d_wrap.cpp:45: undefined reference to `operator new(unsigned long)'
等等..
我尝试在 makefile 中指定库的完整路径或使用-l(name of the library),但我仍然面临相同的消息
我的makefile是
$(CC) -O3 -o exe channel_mpi.o initialization.o convol_trasp.o fft_support.o data_man.o dnsdata.o dnsdirect.o /home/mirco/Scrivania/fftmpi-1Oct18/src/libfft3dmpi.a -lm
编译器是h5pcc,mpicc封装了一些标志来使用HDF5库。
我做错了吗??
感谢您的帮助
【问题讨论】:
-
@Someprogrammerdude 您可能可以将其添加为答案,因为这很可能是问题所在。
-
@Someprogrammerdude 非常感谢!!你是对的!
标签: c mpi static-libraries