J just complied my program which include the header file BFSCfourier.h and pack_c.h.the BFSCfourier.h include the <fftw3.h> and the pack_c.h define these functions, like pack_longimage_c. I don't what happened.
please some people tell me the truth.
/tmp/ccj0RXtW.o: In function `readImg(fft<2, double, std::complex<double> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
diraxis.cpp:(.text+0x29bc): undefined reference to `readpack_long_c(int*, char*)'
/tmp/ccj0RXtW.o: In function `writeImg(fft<2, double, std::complex<double> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, Vector<int, 2u>)':
diraxis.cpp:(.text+0x364d): undefined reference to `pack_longimage_c(int*, int, int, char*)'
/tmp/ccj0RXtW.o: In function `writeImg(fft<2, double, std::complex<double> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
diraxis.cpp:(.text+0x3e9e): undefined reference to `pack_longimage_c(int*, int, int, char*)'
/tmp/ccj0RXtW.o: In function `getDimension(std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
diraxis.cpp:(.text+0x439c): undefined reference to `imsiz_c(char*, int*, int*)'
/tmp/ccj0RXtW.o: In function `fftw_prog::fftw_prog(char const*)':
diraxis.cpp:(.text._ZN9fftw_progC2EPKc[_ZN9fftw_progC5EPKc]+0x4f): undefined reference to `fftw_import_wisdom_from_file'
/tmp/ccj0RXtW.o: In function `fftw_prog::~fftw_prog()':
diraxis.cpp:(.text._ZN9fftw_progD2Ev[_ZN9fftw_progD5Ev]+0x2c): undefined reference to `fftw_export_wisdom_to_file'
/tmp/ccj0RXtW.o: In function `fft<2, double, std::complex<double> >::fft(Vector<int, 2u>, bool)':
diraxis.cpp:(.text._ZN3fftILi2EdSt7complexIdEEC2E6VectorIiLj2EEb[_ZN3fftILi2EdSt7complexIdEEC5E6VectorIiLj2EEb]+0x55): undefined reference to `fftw_malloc'
diraxis.cpp:(.text._ZN3fftILi2EdSt7complexIdEEC2E6VectorIiLj2EEb[_ZN3fftILi2EdSt7complexIdEEC5E6VectorIiLj2EEb]+0xbc): undefined reference to `fftw_plan_dft_r2c'
diraxis.cpp:(.text._ZN3fftILi2EdSt7complexIdEEC2E6VectorIiLj2EEb[_ZN3fftILi2EdSt7complexIdEEC5E6VectorIiLj2EEb]+0x103): undefined reference to `fftw_plan_dft_c2r'
/tmp/ccj0RXtW.o: In function `fft<2, double, std::complex<double> >::~fft()':
diraxis.cpp:(.text._ZN3fftILi2EdSt7complexIdEED2Ev[_ZN3fftILi2EdSt7complexIdEED5Ev]+0x11): undefined reference to `fftw_free'
diraxis.cpp:(.text._ZN3fftILi2EdSt7complexIdEED2Ev[_ZN3fftILi2EdSt7complexIdEED5Ev]+0x1f): undefined reference to `fftw_destroy_plan'
diraxis.cpp:(.text._ZN3fftILi2EdSt7complexIdEED2Ev[_ZN3fftILi2EdSt7complexIdEED5Ev]+0x2d): undefined reference to `fftw_destroy_plan'
/tmp/ccj0RXtW.o: In function `fft<2, double, std::complex<double> >::fft(fft<2, double, std::complex<double> > const&)':
diraxis.cpp:(.text._ZN3fftILi2EdSt7complexIdEEC2ERKS2_[_ZN3fftILi2EdSt7complexIdEEC5ERKS2_]+0x4f): undefined reference to `fftw_malloc'
diraxis.cpp:(.text._ZN3fftILi2EdSt7complexIdEEC2ERKS2_[_ZN3fftILi2EdSt7complexIdEEC5ERKS2_]+0x121): undefined reference to `fftw_plan_dft_r2c'
diraxis.cpp:(.text._ZN3fftILi2EdSt7complexIdEEC2ERKS2_[_ZN3fftILi2EdSt7complexIdEEC5ERKS2_]+0x168): undefined reference to `fftw_plan_dft_c2r'
/tmp/ccj0RXtW.o: In function `fft<2, double, std::complex<double> >::r2F()':
diraxis.cpp:(.text._ZN3fftILi2EdSt7complexIdEE3r2FEv[fft<2, double, std::complex<double> >::r2F()]+0x1a): undefined reference to `fftw_execute'
/tmp/ccj0RXtW.o: In function `fft<2, double, std::complex<double> >::F2r()':
diraxis.cpp:(.text._ZN3fftILi2EdSt7complexIdEE3F2rEv[fft<2, double, std::complex<double> >::F2r()]+0x28): undefined reference to `fftw_execute'
collect2: ld returned 1 exit status