C++ 检测到';RuntimeLibrary';对于来自同一visual studio 2015项目的源文件的对象文件
我有一个常见的链接器错误的情况下,我不明白为什么我得到它。我将一个项目从静态链接(/MT)更改为动态链接(/MD)。在此之后,我得到以下错误:C++ 检测到';RuntimeLibrary';对于来自同一visual studio 2015项目的源文件的对象文件,c++,visual-studio-2015,linker,C++,Visual Studio 2015,Linker,我有一个常见的链接器错误的情况下,我不明白为什么我得到它。我将一个项目从静态链接(/MT)更改为动态链接(/MD)。在此之后,我得到以下错误: Error LNK2038 mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in XY.obj XXX [some folders]\XYZ.obj XY和XYZ的源文件都是同一项目
Error LNK2038 mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't
match value 'MT_StaticRelease' in XY.obj XXX [some folders]\XYZ.obj
XY和XYZ的源文件都是同一项目的一部分。该项目是用/MD编译的。我首先认为一些文件在重建过程中没有更新,所以我清理了构建并重建了项目。由于仍然出现相同的错误,我手动删除了包含.obj文件的构建文件夹,并重新构建了项目。我仍然得到错误
我不理解的第二个影响是,包含的库(我将其从静态版本更改为动态版本)找不到几个符号:
Error LNK2001 unresolved external symbol __imp__strncat LAAPTOF_Fuzzy_XOP
[some folders]\ccc_vc120_md.lib(MxNET.obj)
等等
当我包含库的静态版本时,这些错误会消失,但我没有得到与运行库不匹配相关的错误,这是我期望得到的
所有这些错误只在32位版本的项目中出现。64位版本构建良好。我已经检查了所有参数,它们都是相同的,除了64位版本需要一个不同的参数
有人能解释一下我可能做错了什么吗?我已经解决了这个问题。我的项目过去是一个VisualStudio2010项目。有人警告我,将项目转换为较新版本的VisualStudio并不总是顺利运行,即使转换器告诉您这一点。我不知道这是否真的是个问题,但在设置了一个新的项目文件后,所有内容都正确链接