Integrating Cuda c file into C program by creating .so : compilation error

I want to integrate the lu_dcmp.cu file with the another c files. For that purpose i have created .so for lu_dcmp.cu. but getting error while linking .so with the another c file.

Error:
frame3dd_io.o: In function cubic_bent_beam': frame3dd_io.c:(.text+0x74ca): undefined reference to lu_dcmp’
collect2: ld returned 1 exit status
make: *** [frame3dd] Error 1

File Structure
There are three files :

  1. lu_dcmp.cu
  2. frame3dd_io.c
  3. main.c

For lu_dcmp.cu there is lu_dcmp.h file and for frame3dd_io.c there is frame3dd_io.h file.
In lu_dcmp.cu file lu decomposition code has written.
lu_dcmp() function is called in frame3dd_io.c file by cubic_bent_beam() function.

the .cu file needs to declare its exported functions as extern “C” because nvcc by default generates C++ function exports (with C++ name mangling)

I already declared it as extern “C”.