سؤال

تجربتي في البرمجة هي حوالي سنة واحدة من تجربة C/C ++ من المدرسة الثانوية ، لكنني قمت بحثي وكتبت برنامجًا بسيطًا مع OpenCL قبل بضعة أشهر. لقد تمكنت من تجميع هذا على جهاز كمبيوتر Apple بسهولة نسبيًا باستخدام G ++ وخيار -framework. الآن أنا على جهاز Ubuntu الخاص بي وليس لدي أي فكرة عن كيفية تجميعها. تم تنزيل برامج التشغيل الصحيحة مع ATI's Stream SDK (لدي ATI Radeon HD5870). سيكون موضع تقدير أي مساعدة!

هل كانت مفيدة؟

المحلول

محاولة

locate libOpenCL.so

إذا كان في واحدة من الدلائل القياسية (على الأرجح/usr/lib ، أو/usr/local/lib) ، فأنت بحاجة إلى استبدال "-framework opencl" بـ "-lopencl". إذا لم تتمكن G ++ من العثور على lib ، فيمكنك إخبار G ++ بالبحث في دليل معين عن طريق إضافة "-L/path/to/library".

أتمنى أن يكون لي Linux أكثر فائدة ... ربما يكون من الأفضل إذا قمت بتنزيل SDK-SDK ATI ، بعد استخراجه ، افتح الطرف و "CD/PATH/إلى/استخراج/ملفات" ؛ في هذا الدليل تنفيذ make && sudo make install

  • make ربما تعرف هذا من Windows ، وهذا يجمع ، كل ما يجب تجميعه
  • && أوامر السلاسل معًا ، لن يتم تنفيذ الأوامر التالية إلا إذا نجح الأمر الأول
  • sudo make install سيؤدي ذلك إلى وضع الملفات في الأماكن المتوقعة (يقوم Sudo بتنفيذ أمر مع Superuser Perclileges ، سيتعين عليك إدخال كلمة المرور الخاصة بك)

امل ان يساعد.

نصائح أخرى

قد تفتقد المكتبات الديناميكية من تكوين الرابط الديناميكي.

ابحث عن مكان المكتبات. على الأرجح/usr/lib ، أو/usr/local/lib.

تأكد من تكوين موقع المسار أيضًا في أحد هذه الأماكن:

  • ld_library_path - يمكنك ضبطه في قذيفة البيئة ، مثل .bashrc
  • /etc/ld.so.conf - ستحتاج إلى الاتصال بـ LdConfig لتحديث ذاكرة التخزين المؤقت ويتطلب الوصول إلى الجذر لتغيير الملف.

سبب

بصرف النظر عن 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
  • GPU: Nvidia Geforce GTX 660
  • سائق GPU: Nvidia-375
  • opencl: 1.2

المرجعي:

[1] كيفية تثبيت libopencl.so على Ubuntu

[2] كيفية إعداد OpenCl في Linux

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top