gpt4 book ai didi

c++ - 多重定义的标准分配器

转载 作者:行者123 更新时间:2023-11-28 08:17:47 27 4
gpt4 key购买 nike

我正在尝试使用 VC++2008 编译 C++ DLL。我已经使用 VC++2010 正确编译了它,但是使用 VC++2008,我得到以下错误:

1>msvcprt.lib(MSVCP90.dll) : error LNK2005: "public: unsigned short * __cdecl std::allocator<unsigned short>::allocate(unsigned __int64)" (?allocate@?$allocator@G@std@@QEAAPEAG_K@Z) already defined in cuda.obj
1>msvcprt.lib(MSVCP90.dll) : error LNK2005: "public: unsigned short * __cdecl std::allocator<unsigned short>::allocate(unsigned __int64)" (?allocate@?$allocator@G@std@@QEAAPEAG_K@Z) already defined in cuda.obj

cuda.obj 是使用 nvcc 编译的,但据我所知,我为 nvcc 提供了与其他文件完全相同的编译器选项。

我能做什么,这个错误可能来自哪里?

最佳答案

确保您使用相同的运行时库,查看 this answer如何设置项目。具体而言,请确保对 CUDA 构建规则和标准 C/C++ 构建(或/MT)都使用/MTd。

关于c++ - 多重定义的标准分配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7079922/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com