2011-07-29 31 views
1

我正在CUDA C上VS2008,Win 7上的代碼工作。我得到了一個浮點矩陣,它將被顯示爲圖像..我將它保存爲.bin文件,並將其加載到單獨的.cpp文件,併成功地利用形成CIMG庫中的圖片...但是當我嘗試添加類似的代碼.CU文件它給瞭如下圖所示的編譯一個奇怪的錯誤...Cuda的CImg庫

error: identifier "_ZN12cimg_library4cimg9superset2IfffE4typeE" is undefined 

的代碼片段我試圖加入.cu文件給出如下

#include <CImg.h> 
using namespace cimg_library; 
....host code.....continues... 

CImg<float> img1(448,448); 
for (int nn=0;nn<200704;nn++) 
img1[nn] = dR[nn]; // dR is obtained after cudamemcpy DtoH 
img1.display(); 

在論壇上,我無法找到這方面的幫助很多,以及使用CIm摹使用CUDA .. 有什麼辦法,我可以使用CIMG與CUDA ..

感謝

+0

「當我嘗試添加類似的代碼到.cu文件」...你能告訴我們你在.cu文件中放置了什麼嗎? – Bart

回答

0

我的建議是移動使用CIMG到.cpp文件的代碼。 .cpp文件中的代碼將調用.cu文件中的主機/設備代碼。 .cu文件中的代碼然後將指針或對浮點矩陣的引用返回到.cpp文件中的代碼。

Nvidia的nvcc是一個編譯器驅動程序。它調用C/C++編譯器來編譯帶有.c或.cpp文件名的文件。但是,.cu文件對nvcc有特殊意義。它做了一些解析,而不是尋找內核函數和某些#pragmas。我不是專家,但我知道有一個副本手動浮動。 Here is a link to an older copy of the manual

+0

感謝您的答覆...我試了一下,並得到我的代碼運行...但仍然圖像不顯示...我的意思是它的imgdisplay命令在CImg在代碼不停止響應,但等待的時間我關閉結果窗口...是否有某種檢查不顯示任何新的窗口與cuda規則.. – snabbasi

+0

你可以發佈相關的代碼段? – ahoffer