2011-12-28 80 views
1

我的cuda代码在调试模式下编译,但不是在发布模式下编译。当我只是改变模式发布和编译,我得到以下连接器错误:代码在vs 2008中以调试模式编译,而不是释放模式

Error 16 error LNK2001: unresolved external symbol [email protected] JGJJSMJMDJLMOMpartition.cu.obj 
Error 17 error LNK2001: unresolved external symbol [email protected] JGJJSMJMDJLMOMpartition.cu.obj 
Error 18 error LNK2001: unresolved external symbol [email protected] JGJJSMJMDJLMOMpartition.cu.obj 
Error 19 error LNK2001: unresolved external symbol [email protected] JGJJSMJMDJLMOMpartition.cu.obj 
Error 20 error LNK2001: unresolved external symbol [email protected] JGJJSMJMDJLMOMpartition.cu.obj 
Error 21 error LNK2001: unresolved external symbol [email protected] JGJJSMJMDJLMOMpartition.cu.obj 
Error 22 error LNK2001: unresolved external symbol [email protected] JGJJSMJMDJLMOMpartition.cu.obj 

任何想法如何解决这个问题?

+0

你有没有解决它?我在VS 2010中遇到了同样的问题。在Debug和Release中,Lib都是一样的。 – 2014-01-25 00:21:30

回答

3

查看您在调试版本中使用的库的列表,并确保它们(或其版本等同版本)包含在版本构建中。

检查库路径是在释放模式正确

确保释放库存在,并且是在正确的目录

0

我最近在VS 2010中遇到此我发现

$(CudaToolkitLibdir)\cudart.lib 
链接程序“>”附加依赖项目“属性中缺少

版本。我很困惑为什么会这样,因为它是VS 2010和CUDA ToolKit 5.0的全新安装。

是不是CUDA工具包安装程序负责修改像cudart.lib之类的VS2010依赖关系?我当然没有手动安装调试模式下的cudart.bin依赖关系。看起来很奇怪,安装程序会跳过发布版本。

相关问题