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

标签 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 <device_launch_parameters.h>

所以我不确定是什么原因导致了这个问题。

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

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

一些帮助将不胜感激。如果需要,我可以提供额外的详细信息。

最佳答案

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

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

关于c++ - CUDA:错误 LNK2005:DllMain 已在 MSVCRT.lib 中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20366433/

相关文章:

c++ - BOOST_PP_AUTO_REC 做什么?

c++ - 仅当将值与 TRUE 进行比较时才会警告操作中 xxx 和 bool 的不安全混合

visual-studio-2010 - 如何使用 MEF 部署 MSBuild 自定义任务?

visual-studio - 在 Visual Studio 2010 中打开现有项目

cuda - 表面内存比全局内存花费更多时间(两倍)

c++ - VS2010 C++优化是否做循环展开

c++ - 在 OpenCV 中动态改变视频

c++ - MFC - 如何绘制彩色位图到对话框DC

c++ - CUDA无法将类拆分为 header 和实现

cuda - 我可以在编译时通过 #define 获得 CUDA 计算能力(版本)吗?