Не может статически связать с libnvcuvid.so

Я пытаюсь использовать новейший NVIDIA Video SDK, в частности - его NVDEC (аппаратный видеодекодер lib). Я некоторое время использовал предыдущую версию, и она загружала указатели функций во время выполнения из libnvcuvid.so, который на моей машине находится в:

/ USR / Библиотека / NVIDIA-396/

Он содержит следующие связанные элементы:

/usr/lib/nvidia-396/libnvcuvid.so

/usr/lib/nvidia-396/libnvcuvid.so.1

/usr/lib/nvidia-396/libnvcuvid.so.396.18

Теперь в последнем SDK 8.1 нет загрузки указателей на библиотечные функции во время выполнения, но все методы API помечены как extern и статическое связывание используется. На Windows они предоставляют nvcuvid.lib. Но в Linux только вышеупомянутые SO. Моя IDE ориентирована на этот каталог (трижды проверено; если я удаляю путь, компоновщик жалуется, что не может найти библиотеку) правильно, также я помещаю libnvcuvid.so на компоновщик точно так же, как я поставил cuda.so а также cudart.so там же для статической компоновки против CUDA API. Но я все еще получаю

"неопределенные ссылки"

для всех функций cuvid, объявленных в последнем заголовке. Как видите, моя версия драйверов также актуальна (для 8.1 требуется не менее 390).

Почему это не ссылка?

ОБНОВЛЕНИЕ (компоновщик):

/ usr / bin / g ++ -o bin / xxxxx_xxx_d @ "xxxxx_xxx.txt" -L. -LDebug -L / usr / lib / nvidia-396 -L / usr / local / cuda-9.1 / lib64 -lcuda -lcudart -lnvcuvid.....

0 ответов

Другие вопросы по тегам