Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 LNK2005错误,尽管匹配运行库(/MD)_Visual Studio 2010_C++ Cli_Clr_Msvcrt_Lnk2005 - Fatal编程技术网

Visual studio 2010 LNK2005错误,尽管匹配运行库(/MD)

Visual studio 2010 LNK2005错误,尽管匹配运行库(/MD),visual-studio-2010,c++-cli,clr,msvcrt,lnk2005,Visual Studio 2010,C++ Cli,Clr,Msvcrt,Lnk2005,我试图在包含VC++和C++项目的CLI/C++解决方案中使用该库,在VS2010下。简而言之,UI是用WPF编写的,计算是在CLR使能C++中完成的。p> 我下载了源代码,将解决方案转换为VS2010格式,并成功构建了静态库。然而,在链接到lib(ofeli debug.lib)时,会产生大量LNK2005错误 error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Getglobal

我试图在包含VC++和C++项目的CLI/C++解决方案中使用该库,在VS2010下。简而言之,UI是用WPF编写的,计算是在CLR使能C++中完成的。p> 我下载了源代码,将解决方案转换为VS2010格式,并成功构建了静态库。然而,在链接到lib(ofeli debug.lib)时,会产生大量LNK2005错误

error LNK2005: "private: static class std::locale::_Locimp * __cdecl std::locale::_Getgloballocale(void)" (?_Getgloballocale@locale@std@@CAPAV_Locimp@12@XZ) already defined in msvcprtd.lib(MSVCP100D.dll)
我注意确保lib是使用/MDd设置构建的,就像项目一样。如果我将项目设置为忽略msvcprtd.lib,那么最终会出现大量LNK2019错误,正如我所预料的那样

通过实验,我发现我可以成功地链接和使用来自非CLR C++测试项目的OFELI LIB,但不能从CLR启用的项目(即使OFLI是用CLR支持编译的)启用的。p> 下面是一个简单的代码片段,它在我的CLR项目中失败并出现许多LNK2005错误

#include "stdafx.h"
#include <OFELI.h>

using namespace OFELI;

int _tmain(int argc, _TCHAR* argv[])
{
    Mesh(10, 1); // Instance an object from the OFELI namespace
    return 0;
}
#包括“stdafx.h”
#包括
使用OFELI名称空间;
int _tmain(int argc,_TCHAR*argv[]
{
Mesh(10,1);//从OFELI命名空间中实例化一个对象
返回0;
}

我错过了什么

更改项目设置,请使用/clr而不是/clr:pure。我已经在使用/clr,而不是/clr:pure。请确保将/MDd选项应用于每个cpp文件。就我而言,这就是这个错误的原因。