MingCL ve Nvidia SDK kullanarak OpenCL derlemek mümkün mü?Mingw Nvidia SDK üzerinde Derleme OpenCL SDK
Resmi olarak desteklenmediğinin farkındayım, ancak bu sadece mantıklı değil. Statik olarak bağlantılı bir kütüphane olarak sağlanan kütüphaneler değil midir? Demek istediğim, bir derleyici ile derlenebilir ve başarıyla bağlanabilir, sorun ne olmalı?
Kodumu Nvidia'nın SDK'siyle sağlanan OpenCL kitaplıklarına derlemeyi ve başarıyla bağlamayı başardım, ancak yürütülebilir kod, kodumdaki ilk OpenCL çağrısı olan clGetPlatformIDs
adresinde Segmentation Fault'u atar.
İşte bu kütüphaneleri örnek OpenCL kodunun .Sln dosyadan alındığını
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
Not benim derleme komuttur.
Bu kitaplıkların çeşitli kombinasyonlarını denedim ve hiçbir şey işe yaramıyor gibi görünüyor.
Ayrıca Mingw kullanarak derlemenin ve başka bir şey kullanarak bağlanmanın bir yolu var mı? Başka bir şeyin ne olduğundan emin değilim.
Neden ana makine kodunu oluşturmak için VC++ Express'i kullanmıyorsunuz? Ayrıca 32 bit veya 64bit libs kullanıyor musunuz? CUDA \ v5.0 \ lib \ x64 ve -luse32 -lcomdlg32 -ladvai32 ... -m64'ün kafa karıştırıcı bir karışımı var mı? Komut satırınızı basitleştirin. –
64-bit, C++ kodum C++ 11 özelliklerini kullanır, böylece VC++ artık olmaz. Lib'leri ve çıkmazları çıkarmayı ve eklemeyi denedim. – omarzouk