Я знаю, что существует много других вопросов, подобных этому, но ни одно из решений, устанавливаемых там, не работает на меня
В основном, делая файлы примера SDK, я добираюсь /usr/bin/ld: cannot find -lcuda
который был бы достаточно легким, 'находят библиотеку и бросают его в ldconfig', кроме ldconfig уже говорит, что это имеет его...
$ sudo ldconfig -v | grep cuda
/usr/local/cuda/lib64:
libcudartemu.so.3 -> libcudartemu.so.3.0.14
libcudart.so.3 -> libcudart.so.3.0.14
/usr/local/cuda/lib:
libcudartemu.so.3 -> libcudartemu.so.3.0.14
libcudart.so.3 -> libcudart.so.3.0.14
libcuda.so.1 -> libcuda.so.195.36.15
libcuda.so.1 -> libcuda.so.195.36.15
libicudata.so.42 -> libicudata.so.42.1
И я проверил, существует символьная ссылка libcuda.so -> libcuda.so.1
но я все еще смущен относительно почему libcuda.so -> ...
не обнаруживается
Я должен пропускать что-то действительно очевидное. Какие-либо идеи?
ldconfig
работает только с библиотеками времени выполнения, тогда как ld
имеет дело с библиотеками времени сборки. В зависимости от того, как вы установили библиотеки CUDA, вам может потребоваться установить дополнительный пакет для символической ссылки, используемой во время сборки, или вам может потребоваться передать параметр -L
в gcc или ld, чтобы указать ему, где символическая ссылка времени сборки.
Попробуйте добавить -L / usr / local / cuda / lib перед -lcuda в командной строке компилятора / компоновщика.