我在VS2008,Win 7上的CUDA C中编写了一个代码。我得到了一个浮点矩阵,它将显示为图像..i将其保存为.bin文件,并将其加载到一个单独的.cpp文件中,并使用CImg library...however成功地形成了图像,当我尝试将类似的代码添加到.cu文件时,它给出了一个奇怪的错误,如下所示的编译...
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();在论坛上,我找不到太多关于这一点的帮助,也找不到CImg与Cuda的结合使用。有没有什么方法可以和cuda一起使用CImg ..
谢谢
发布于 2011-07-30 12:32:57
我的建议是将使用CImg的代码移到.cpp文件中。然后,.cpp文件中的代码将调用.cu文件中的主机/设备代码。然后,.cu文件中的代码将指向浮点数矩阵的指针或引用返回到.cpp文件中的代码。
Nvidia的nvcc是一个编译器驱动程序。它调用C/C++编译器来编译具有.c或.cpp文件名的文件。但是,.cu文件对nvcc有特殊的意义。它做了一些解析和一些不需要的东西来寻找内核函数和某些#编译指示。我不是专家,但我知道有一本手册在到处流传。Here is a link to an older copy of the manual。
https://stackoverflow.com/questions/6876482
复制相似问题