CUDA:错误LNK2005:已在MSVCRT.lib中定义了DllMain

时间:2013-12-04 03:48:36

标签: c++ visual-studio-2010 cuda

如果项目中未包含cuda_test.cu文件,则代码运行正常。

当包含这样的文件时,我收到以下错误消息

mfcs100u.lib(dllmodul.obj) : error LNK2005: DllMain already defined in MSVCRT.lib(dllmain.obj)

cuda_test.c你有以下头文件,一个全局函数和一个包装器。

#include <cuda.h>
#include <cuda_runtime.h>
#include <device_launch_parameters.h>

所以我不确定导致这个问题的原因。

经过一番研究,似乎这个问题相当普遍而且已经存在 fixes。但是这开始在代码的不同部分给出麻烦。 (如果此信息相关,则“StdAfx.h”包含在所有.cpp文件中。)

这是一个用C ++编写的巨大项目,我正在尝试并行化它的某些部分。

非常感谢一些帮助。如果需要,我可以提供额外的细节。

1 个答案:

答案 0 :(得分:1)

您需要确保应用的所有部分都链接到同一个运行时。

在解决方案资源管理器中,右键单击.cu文件,然后选择“属性”。转到CUDA C/C++ > Host并确保Runtime Library设置为与项目其余部分相同。