CULA: неопределенные ссылочные функции
Я скачал CULA Dense R17 Free Edition для Linux.
Я заметил, что в каталогах lib и lib64 нет libcula_lapack.so, но есть только libcula_lapack_basic.so. Это должно быть нормально, потому что на сайте culatools указано, что в этой версии cula_lapack.dll/ переименован в cula_lapack_basic.dll/ так!
Я устанавливаю переменные среды в файле.bashrc следующим образом:
export CULA_LIB_PATH_32=/usr/local/cula/lib
export CULA_ROOT=/usr/local/cula
export CULA_LIB_PATH_64=/usr/local/cula/lib64
export CULA_INC_PATH=/usr/local/cula/include
export LD_LIBRARY_PATH = "$CULA_LIB_PATH_64"
Я попытался скомпилировать очень простую программу на c, чтобы проверить, правильно ли работает cula.
#include <cula.h>
#include <stdio.h>
int main()
{
culaStatus s;
s = culaInitialize();
if (s != culaNoError)
printf("%s\n", culaGetStatusString(s));
culaShutdown();
return 0;
}
Я компилирую с:
gcc -I$CULA_INC_PATH -L$CULA_LIB_PATH_64 -lcula_lapack_basic prog.c -o prog
Я получил эти ошибки:
/tmp/ccDSdmLN.o: In function `main':
prog.c:(.text+0xe): undefined reference to `culaInitialize'
prog.c:(.text+0x21): undefined reference to `culaGetStatusString'
prog.c:(.text+0x33): undefined reference to `culaShutdown'
collect2: ld returned 1 exit status
Вероятно, ссылки в istruction компиляции или включаемый файл в программе неверны!
Как решить эту проблему компиляции?:roll::roll::(Можешь мне помочь?