我正在创建一个动态库,它将使用运行时库的静态版本。将该项目设置为使用/ MT标志。我在将.lib文件引入内部版本时遇到问题。
该版本具有名为Support.lib的依赖项。我已经证实这不是导入库,它包含许多.obj文件(通过使用7ZIP打开.lib文件进行验证)。
尝试链接项目时,发生以下错误:
8>Support.lib(File1.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in somelogic.obj
8>Support.lib(File2.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in somelogic.obj
8>Support.lib(File3.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in somelogic.obj
8>Support.lib(File4.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in somelogic.obj
somelogic.obj是我项目中的一个源文件,它利用了Support.lib中的内容
我希望此Support.lib由于已经是/ lib文件,因此已经在使用/ MT标志,这意味着它将包含使用它的所有要求。我对静态库的定义错误吗?还是使用通过/ MD标志编译的.obj文件创建静态库是否合法?