nVidia CUDA C ile programlama yapıyorum. Visual Studio 2008'i geliştirme ortamım olarak kullanıyorum ve bazı bağlantı sorunlarım var ve birileri bunu düzeltmenin bir yolu olup olmadığını merak ediyorum. ya da aynı sorunu vardı ve bir çözüm sunabilirdi.Visual Studio Linki ile Sorun Bağlantı
Programım 3 dosyadan oluşur. 1 başlık dosyası (stuff.h), 1 C kaynak dosyası (stuff.c) ve 1 CUDA C dosyası (main.cu). (İsimler sahtedir, ancak sadece noktayı göstermek içindir).
Artık stuff.h/stuff.c, main.cu.'nin içinden aradığım yardımcı işlevleri tanımla/uygula.
Visual Studio 2008'i ve nVidia'nın GPU Computing SDK'sından Cuda.rules kullanıyorum ve her şey iyi bir şekilde derleniyor ... ancak tüm dosyaları birbirine bağlamak söz konusu olduğunda başarısız oluyor. Stuff.h dosyasında (ve stuff.c dosyasında uygulanmış) tanımlanan tüm işlevlerin, "çözümlenmemiş harici semboller" olarak işaretlendiklerinden doğru olarak bağlanmadıkları görülmektedir.
Olası nedenler nelerdir ve bunu nasıl düzeltebilirim?
Çok teşekkürler,
Tamam
ExtremeCoder yüzden tüm derleme almak başarmış. Yapmam gereken tek şey şeyleri uygulama dosyasının uzantısı .c'den .cpp'ye değiştirmek oldu (C++ olarak derlerken anlam c derleme yapmaz!).
Buna neden olabilir? Bu gerçekten C kodu olması gerekiyordu gibi oldukça ... (yerine .cpp bir .c olarak
Herhangi işaretçileri herşeyi sakladın?
görüntüleri dönüştürmek için CUDA kullanan bir VS 2005 proje var
Yardım için teşekkürler. Çalışıyorum. .cu dosyalarının C dosyaları olarak derlenip C++ dosyaları olarak derlenmesinin bir yolu var mı? Teşekkürler. – ExtremeCoder
'--host-compilation = c' seçeneğini deneyebilir, ancak uyarılarda bu gönderiyi görebilirsiniz: http://forums.nvidia.com/index.php?showtopic=101609. Genel olarak, "ana" işlevimi ve diğer her şeyi standart C/C++ dosyalarında tutmayı ve daha sonra CU dosyalarında yalnızca çekirdek ve sarıcıları bulundurmayı tercih ederim. Thrust şeylerinin çoğunun da CU dosyalarına girmesi gerekiyor ... – Tom