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

C++ CUDA:错误LNK2005:DllMain已在MSVCRT.lib中定义,c++,visual-studio-2010,cuda,C++,Visual Studio 2010,Cuda,当cuda_test.cu文件未包含在项目中时,代码运行正常 当包含这样一个文件时,我收到以下错误消息 mfcs100u.lib(dllmodul.obj) : error LNK2005: DllMain already defined in MSVCRT.lib(dllmain.obj) cuda_test.cu具有以下头文件、全局函数和包装器 #include <cuda.h> #include <cuda_runtime.h> #include <devi

cuda_test.cu
文件未包含在项目中时,代码运行正常

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

mfcs100u.lib(dllmodul.obj) : error LNK2005: DllMain already defined in MSVCRT.lib(dllmain.obj)
cuda_test.c
u具有以下头文件、全局函数和包装器

#include <cuda.h>
#include <cuda_runtime.h>
#include <device_launch_parameters.h>
#包括
#包括
#包括
所以我不确定是什么导致了这个问题

经过一些研究,这一问题似乎相当普遍,并且已经得到解决 . 但这在代码的另一部分开始带来麻烦。(“如果此信息相关,则所有.cpp文件中都包含StdAfx.h”)

这是一个用C++编写的大型工程,我正在尝试对它的某些部分进行并行化。


我们将非常感谢您的帮助。如果需要,我可以提供额外的详细信息。

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


在解决方案资源管理器中,右键单击
.cu
文件并选择属性。转到
CUDA C/C++>主机
,确保
运行时库
设置为与项目其余部分相同。

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


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

查看以下帖子:。特别是后脚本部分。它描述了MSVCRT.lib中已经定义的错误LNK2005:DllMain以及解决该错误的方法。谢谢。这很有帮助。但是完全忽略
msvcrt.lib也会产生错误。有效的方法是忽略两个库
mfcs100u
msvcrt
,并将它们作为附加依赖项再次添加。(如果我记得的话,按顺序改变会有帮助)看看这个帖子:。特别是后脚本部分。它描述了MSVCRT.lib中已经定义的错误LNK2005:DllMain以及解决该错误的方法。谢谢。这很有帮助。但是完全忽略
msvcrt.lib也会产生错误。有效的方法是忽略两个库
mfcs100u
msvcrt
,并将它们作为附加依赖项再次添加。(如果我记得的话,按顺序更改会有所帮助)
CUDA C/C++>Host
was
。所以这应该没问题,我猜
cudac/C++>主机是
。我想那应该没问题