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 对引用的C+;使用仅调试后缀+;VisualStudio2010中的DLL_Visual Studio 2010_Visual C++ 2010 - Fatal编程技术网

Visual studio 2010 对引用的C+;使用仅调试后缀+;VisualStudio2010中的DLL

Visual studio 2010 对引用的C+;使用仅调试后缀+;VisualStudio2010中的DLL,visual-studio-2010,visual-c++-2010,Visual Studio 2010,Visual C++ 2010,在VisualStudio的早期版本(从VC6到VS2008)中,我们有一个惯例,即在调试构建DLL的名称后面放一个“D”,MFC和CRT库也是如此。因此,例如,如果发布版本dll是“foo.dll”、“bar.dll”和“baz.dll”,则调试版本名称是“fooD.dll”、“barD.dll”和“bazD.dll”。这可以防止我们意外地混合发布和调试DLL 但是,在VS2010中使用新的C++构建系统,我们遇到了麻烦。它在旧版本中使用基于依赖关系的系统,但现在项目引用显然基于目标DLL名称

在VisualStudio的早期版本(从VC6到VS2008)中,我们有一个惯例,即在调试构建DLL的名称后面放一个“D”,MFC和CRT库也是如此。因此,例如,如果发布版本dll是“foo.dll”、“bar.dll”和“baz.dll”,则调试版本名称是“fooD.dll”、“barD.dll”和“bazD.dll”。这可以防止我们意外地混合发布和调试DLL

但是,在VS2010中使用新的C++构建系统,我们遇到了麻烦。它在旧版本中使用基于依赖关系的系统,但现在项目引用显然基于目标DLL名称,因此对于调试版本和发布版本,它们似乎必须相同

显而易见的解决方案是放弃调试构建后缀,但如果可能的话,我们更愿意保留它。还有其他人在做这件事吗?他们是否已经想出了如何让它与VS2010一起工作的方法



顺便说一句,我遇到了。我必须与其他团队成员一起检查,以确定它是否可以解决我们的问题。

您好,很抱歉更新此旧问题,但您找到问题的答案了吗?我刚刚在VS2012上遇到了同样的问题。我认为我们没有找到一个简单的解决方案。我们有一个控制构建的工具,我认为我们对它进行了黑客攻击,让它生成不同的项目/解决方案,用于调试和发布。(那是几年前的事了,所以我的记忆很模糊,我不再在那家公司工作。)谢谢,我试着在
Linker>General>Output File
Linker>Advanced>Import Library
Linker>Input>中为链接库的项目编辑项目选项。我希望这可以解决它(还没有测试,它还在构建中)