I'm building Flex on Fedora linux, which works fine, the demo application runs.
But when I'm trying to build my own application the linker gives the following error:
.../FleX/lib/linux64/NvFlexReleaseCUDA_x64.a(cudaflex.o): In function `CalculateRestDensity':
/b/71638413cc37a729/sw/devrel/libdev/flex/dev/main/test/compiler/makelinux64/../../../src/cuda/flex.cu:436: undefined reference to `seed1'
/b/71638413cc37a729/sw/devrel/libdev/flex/dev/main/test/compiler/makelinux64/../../../src/cuda/flex.cu:437: undefined reference to `seed2'
.../FleX/lib/linux64/NvFlexReleaseCUDA_x64.a(cudaflex.o): In function `__gnu_cxx::new_allocator<float>::allocate(unsigned long, void const*)':
/usr/include/c++/4.8/ext/new_allocator.h:104: undefined reference to `seed1'
/usr/include/c++/4.8/ext/new_allocator.h:104: undefined reference to `seed2'
collect2: error: ld returned 1 exit status
I'm linking with libcudart.so, libcuda.so, NvFlexExtReleaseCUDA_x64.a, NvFlexDeviceRelease_x64.a, NvFlexReleaseCUDA_x64.a.
Do I need to add anything else? Any help would be appreciated.
This was a link order issue. I had to link the following libraries in this order:
NvFlexReleaseCUDA_x64.a, NvFlexExtReleaseCUDA_x64.a, libcudart_static.a,rt
I'm building Flex on Fedora linux, which works fine, the demo application runs. But when I'm trying to build my own application the linker gives the following error:
I'm linking with
libcudart.so
,libcuda.so
,NvFlexExtReleaseCUDA_x64.a
,NvFlexDeviceRelease_x64.a
,NvFlexReleaseCUDA_x64.a
.Do I need to add anything else? Any help would be appreciated.