पर ओपनसीएल संकलित करें क्या मिंगव और एनवीडिया एसडीके का उपयोग करके ओपनसीएल को संकलित करना संभव है?मिंगव एनवीडिया एसडीके
मुझे पता है कि इसकी आधिकारिक तौर पर समर्थित नहीं कर रहा हूँ, लेकिन यह सिर्फ मतलब नहीं है। एक स्थिर रूप से जुड़े पुस्तकालयों के रूप में प्रदान पुस्तकालयों नहीं हैं? मेरा मतलब है कि जो भी संकलक हो सकता है, और सफलतापूर्वक लिंक किया गया है, समस्या क्या होनी चाहिए?
मैं संकलन और सफलतापूर्वक एनवीडिया के एसडीके के साथ प्रदान की OpenCL पुस्तकालयों के लिए मेरी कोड लिंक करने में कामयाब रहे, हालांकि निष्पादन फेंकता clGetPlatformIDs
पर विभाजन दोष जो मेरे कोड में पहले OpenCL कॉल है।
यहाँ मेरी संकलन आदेश
x86_64-w64-mingw32-g++ -std=c++11 File.cpp \
-L"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\lib\x64" \
-I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v5.0\include" \
-gcoff -lOpenCL -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 \
-lshell32 -lole32 -loleaut32 \
-luuid -lodbc32 -lodbccp32 -luser32 -lgdi32 -lmingwex -m64 \
-DWIN32 -D_DEBUG -D_CONSOLE
ध्यान दें कि इन पुस्तकालयों नमूना OpenCL कोड की .sln फ़ाइल से ले जाया गया है।
मैंने इन पुस्तकालयों के विभिन्न संयोजनों की कोशिश की और कुछ भी काम नहीं कर रहा है।
इसके अलावा कुछ और का उपयोग कर Mingw और लिंक का उपयोग कर संकलित करने के लिए एक तरीका है? मुझे यकीन नहीं है कि कुछ और क्या हो सकता है।
होस्ट कोड बनाने के लिए आप वीसी ++ एक्सप्रेस का उपयोग क्यों नहीं करते? क्या आप 32 बिट या 64 बिट libs का उपयोग कर रहे हैं? CUDA \ v5.0 \ lib \ x64 और -luse32 -lcomdlg32 -ladvai32 का एक भ्रमित मिश्रण है ... -m64 ये सभी libs आवश्यक हैं? अपनी कमांड लाइन को सरल बनाएं। –
64-बिट, मेरा सी ++ कोड सी ++ 11 फीचर्स का उपयोग करता है, इसलिए वीसी ++ नहीं जाता है। मैंने libs, मृत अंत को हटाने और जोड़ने की कोशिश की। – omarzouk