Я успешно разработал код с использованием динамической библиотеки.
В настоящее время мне нужно перейти на статическую библиотеку.
Итак, я собрал библиотеку с помощью 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)'
И так далее ..
Я попытался указать в make-файле полный путь к библиотеке или использовать -l(name of the library)
, но я все еще сталкиваюсь с теми же сообщениями
Мой make-файл
$(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.
Я сделал ошибки ??
Спасибо за вашу помощь