/ usr / bin / ld: не удается найти -lOpenCL

Если установлены оба настольных компьютера. Вы должны иметь возможность переключаться между ними с экрана входа в систему при первой загрузке компьютера, щелкнув значок шестеренки, чтобы выбрать из установленных настольных компьютеров. Затем просто выйдите из учетной записи, не отключаясь, чтобы переключаться между рабочими столами. Я думаю, что может также быть какое-то горячее клавишное решение, но я не очень хорошо это помню.

4
задан 19 February 2018 в 12:23

6 ответов

Вы не можете найти библиотеку OpenCL.

Вы должны помочь компоновщику найти библиотеку OpenCL.

Аналогичная проблема была поднята здесь [!d2 ]

Было решено было сделать ссылку на библиотеку на известное местоположение lib:

sudo ln -s /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 /usr/lib/libOpenCL.so

Еще одна опция:

Предполагая, что библиотека OpenCL расположена в [ f7] вы также можете добавить папку библиотеки в путь Libraries:

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/"

Возможно, вам потребуется обновить «Динамический компоновщик»:

sudo ldconfig
2
ответ дан 22 May 2018 в 13:01
  • 1
    Это сработало для меня! Самый первый ответ. Спасибо! – Sharan Duggirala 21 February 2018 в 10:14

Вы не можете найти библиотеку OpenCL.

Вы должны помочь компоновщику найти библиотеку OpenCL.

Аналогичная проблема была поднята здесь

Было решено было сделать ссылку на библиотеку на известное местоположение lib:

sudo ln -s /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 /usr/lib/libOpenCL.so

Еще одна опция:

Предполагая, что библиотека OpenCL расположена в /usr/lib/x86_64-linux-gnu/ вы также можете добавить папку библиотеки в путь Libraries:

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/"

Возможно, вам потребуется обновить «Динамический компоновщик»:

sudo ldconfig
2
ответ дан 17 July 2018 в 20:31

Вы не можете найти библиотеку OpenCL.

Вы должны помочь компоновщику найти библиотеку OpenCL.

Аналогичная проблема была поднята здесь

Было решено было сделать ссылку на библиотеку на известное местоположение lib:

sudo ln -s /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 /usr/lib/libOpenCL.so

Еще одна опция:

Предполагая, что библиотека OpenCL расположена в /usr/lib/x86_64-linux-gnu/ вы также можете добавить папку библиотеки в путь Libraries:

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib/x86_64-linux-gnu/"

Возможно, вам потребуется обновить «Динамический компоновщик»:

sudo ldconfig
2
ответ дан 23 July 2018 в 21:09

Как уже говорилось Яроном, компоновщик не знает, где найти библиотеку OpenCL, т. е. он ни в одном из мест, где он его ищет.

Вместо того, чтобы переместить его в одно из этих мест ( например /usr/lib) Я бы предложил сообщить компоновщику, где искать его с помощью флага -L. Затем команда будет читать (обратите внимание на -L/usr/lib/x86_64-linux-gnu)

g++ DeviceInfo.cpp -I ../../Cpp_common -L/usr/lib/x86_64-linux-gnu -lOpenCL -o DeviceInfo

Если вы используете рукописный Makefile, вы можете просто изменить команду компилятора / компоновщика, как это. В противном случае вам придется прикоснуться к вашей системе сборки, как включить ее.

2
ответ дан 22 May 2018 в 13:01
  • 1
    или попробуйте LDFLAGS, например. [F2] – steeldriver 19 February 2018 в 17:49
  • 2
    Если вы ищете чисто временное решение, это тоже поможет. Однако я рекомендую сделать это LDFLAGS=$LDFLAGS:/usr/lib/x86_64-linux-gnu/ для сохранения любых предыдущих настроек – mbeyss 19 February 2018 в 18:03

Как уже говорилось Яроном, компоновщик не знает, где найти библиотеку OpenCL, т. е. он ни в одном из мест, где он его ищет.

Вместо того, чтобы переместить его в одно из этих мест ( например /usr/lib) Я бы предложил сообщить компоновщику, где искать его с помощью флага -L. Затем команда будет читать (обратите внимание на -L/usr/lib/x86_64-linux-gnu)

g++ DeviceInfo.cpp -I ../../Cpp_common -L/usr/lib/x86_64-linux-gnu -lOpenCL -o DeviceInfo

Если вы используете рукописный Makefile, вы можете просто изменить команду компилятора / компоновщика, как это. В противном случае вам придется прикоснуться к вашей системе сборки, как включить ее.

2
ответ дан 17 July 2018 в 20:31

Как уже говорилось Яроном, компоновщик не знает, где найти библиотеку OpenCL, т. е. он ни в одном из мест, где он его ищет.

Вместо того, чтобы переместить его в одно из этих мест ( например /usr/lib) Я бы предложил сообщить компоновщику, где искать его с помощью флага -L. Затем команда будет читать (обратите внимание на -L/usr/lib/x86_64-linux-gnu)

g++ DeviceInfo.cpp -I ../../Cpp_common -L/usr/lib/x86_64-linux-gnu -lOpenCL -o DeviceInfo

Если вы используете рукописный Makefile, вы можете просто изменить команду компилятора / компоновщика, как это. В противном случае вам придется прикоснуться к вашей системе сборки, как включить ее.

2
ответ дан 23 July 2018 в 21:09
  • 1
    или попробуйте LDFLAGS, например. [F2] – steeldriver 19 February 2018 в 17:49
  • 2
    Если вы ищете чисто временное решение, это тоже поможет. Однако я рекомендую сделать это LDFLAGS=$LDFLAGS:/usr/lib/x86_64-linux-gnu/ для сохранения любых предыдущих настроек – mbeyss 19 February 2018 в 18:03

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

Похожие вопросы: