MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   如何将使用CUDA的C ++程序转换为MEX (https://www.labfans.com/bbs/showthread.php?t=23531)

poster 2019-12-10 20:41

如何将使用CUDA的C ++程序转换为MEX
 
为了工作,我将CUDA SDK随附的图像去噪程序转换为MATLAB程序。据我所知,我已经进行了MATLAB所需的所有必要更改,但是当我尝试对其调用mex时,MATLAB返回了一堆链接错误,我不知道该如何解决。如果有人对我可能做错的事情有任何建议,我将不胜感激。

我给MATLAB的命令是:

mex imageDenoisingGL.cpp -I..\..\common\inc -IC:\CUDA\include -L..\..\common\lib -lglut32

MATLAB的输出是很多这样的:

imageDenoisingGL.obj : error LNK2019: unresolved external symbol __imp__cutCheckCmdLineFlag@12 referenced in function "void __cdecl __cutilExit(int,char * *)" (?__cutilExit@@YAXHPAPAD@Z) 我在跑步:
Windows XP x32
Visual Studio 2005
MATLAB 2007a



[B]回答:[/B]

您需要将CUDA库链接到MEX文件。看起来您还在使用CUDA SDK中的某些"cutil.h"内容(例如cutCheckCmdLineFlag ),因此不仅需要链接到cudart库,还需要链接到cutil。也就是说,您可能需要添加类似

-Lc:\CUDA\lib -lcudart -lcuda -L -lcutil 到您的MEX命令行。



[url=https://stackoverflow.com/questions/3047753]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 12:51

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.