Вопрос
Мой опыт программирования составляет около 1 года опыта C / C ++ из средней школы, но я сделал свое исследование и написал простую программу с OpenCl несколько месяцев назад. Я смог компилировать и запускать это на Apple Computer относительно легко с помощью параметра G ++ и The -Framework. Теперь я на моем машине Ubuntu, и я понятия не имею, как его скомпилировать. Правильные драйверы были загружены вместе с потоком ATI SDK (у меня есть ATI Radeon HD5870). Любая помощь будет оценена!
Решение
Пытаться
locate libOpenCL.so
Если он находится в одном из стандартных каталогов (скорее всего / usr / lib, или / usr / local / lib), вам нужно заменить "--framework opencl" с "-lopencl". Если G ++ не может найти lib, вы можете сказать G ++, чтобы посмотреть в определенный каталог, добавив «-L / путь / к / библиотеку».
Я хотел бы, чтобы у меня был мой Linux, чтобы быть более полезным ... это, вероятно, лучше всего, если вы покидаете нагрузку ATI-Stream-SDK, после извлечения его, откройте терминал и «CD / путь / к / извлеченные / файлы»; В этом каталоге выполняется make && sudo make install
make
Вы, вероятно, знаете это из Windows, это компилирует, что бы ни было компилировано&&
Команды цепи вместе, следующие команды будут выполняться только в том случае, если первая команда преуспелаsudo make install
Это поместит файлы в ожидаемые места (Sudo выполняет команду с привилегиями Superuser, вам придется ввести свой пароль)
Надеюсь, это поможет.
Другие советы
Вы можете отсутствовать динамические библиотеки из конфигурации динамического линкера.
Поиск, где есть библиотеки. Скорее всего / usr / lib, или / usr / local / lib.
Убедитесь, что местоположение пути также настроено на одном из этих мест:
- Ld_library_path - вы можете установить его в вашей среде Shell, например .bashrc
- /etc/ld.so.conf - вам нужно будет вызвать ldconfig, чтобы обновить кеш, и это требует доступа root, чтобы изменить файл.
Причина
Помимо @bjoernz, моя система не может найти libOpenCL.so
файл
Это потому, что правильный файловый каталог отсутствует
После поиска в Интернете я узнал, что libOpenCL.so
Файл может предоставлен ocl-icd-opencl-dev
упаковка
Решение
Вам просто нужно установить посылку, упомянутое выше, набрав в CMD
sudo apt update
sudo apt install ocl-icd-opencl-dev
Следовательно, libOpenCL.so
можно найти под /usr/lib/x86_64-linux-gnu/
папка
Моя система информации
- Операционные системы: Ubuntu 16.04 LTS
- Гpu.: NVIDIA GeForce GTX 660
- Драйвер GPU: nvidia-375
- Opencl: 1.2