2

我正在尝试从 github Spectrum -lib(安装了 Ubuntu 14.04、cuda 7.0、torch7)构建一个用 torch7(C,cuda,lua) 编写的包。我使用这个命令来构建它: luarocks make --local.

然而,奇怪的错误发生如下:

...
Scanning dependencies of target spectralnet
[100%] Building CXX object CMakeFiles/spectralnet.dir/cuda/cufft.cpp.o
Linking CXX shared module libspectralnet.so
/usr/bin/ld: cannot find -lcufft
collect2: error: ld returned 1 exit status
make[2]: *** [libspectralnet.so] Error 1
make[1]: *** [CMakeFiles/spectralnet.dir/all] Error 2
make: *** [all] Error 2

我可以发现“ libcufft.so”在/usr/local/cuda/lib64. 也许这个错误与CMakeLists.txt有关,但我不熟悉它。谁能帮我一把?

4

1 回答 1

1

通过修改 CMakeLists.txt 解决。我复制libcufft.so到 ./cuda 并添加:

SET(PROJECT_LINK_LIBS libcufft.so )
LINK_DIRECTORIES(/net/wanggu/spectral-lib/cuda)

作者的 CMakeLists.txt 可能对 cuda 动态库的方向有些问题。可能存在一些更好的解决方案,但目前这是一个临时解决方案。

于 2016-03-13T13:52:34.410 回答