从使用 thrift 的 Visual studio c++ 项目制作 exe 文件时出现问题?

Issue in making exe file from Visual studio c++ project which uses thrift?

我正在为我的项目使用 apache thrift。在我将项目更改为发布和重建解决方案后,出现以下错误。它出什么问题了?我该如何解决这个问题?

Error   41  error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(TTransportException.obj)    Project
Error   44  error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(TBufferTransports.obj)  Project
Error   46  error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(TSocket.obj)    Project
Error   48  error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(Thrift.obj) Project
Error   50  error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(TApplicationException.obj)  Project
Error   52  error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(TSimpleServer.obj)  Project
Error   54  error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(TServerSocket.obj)  Project
Error   56  error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(GetTimeOfDay.obj)   Project
Error   58  error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(TWinsockSingleton.obj)  Project
Error   60  error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(SocketPair.obj) Project
Error   40  error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(TTransportException.obj)    Project
Error   43  error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(TBufferTransports.obj)  Project
Error   45  error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(TSocket.obj)    Project
Error   47  error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(Thrift.obj) Project
Error   49  error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(TApplicationException.obj)  Project
Error   51  error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(TSimpleServer.obj)  Project
Error   53  error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(TServerSocket.obj)  Project
Error   55  error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(GetTimeOfDay.obj)   Project
Error   57  error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(TWinsockSingleton.obj)  Project
Error   59  error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in centralNodeServiceV2_constants.obj   E:\DataCollectionje_connected_4_ex\DataCollection\Project\libthrift.lib(SocketPair.obj) Project
Error   62  error LNK1319: 20 mismatches detected   E:\DataCollectionje_connected_4_ex\DataCollection\Release\Project.exe   Project

您用于编译 thrift 的运行时库与您用于编译 exe 的运行时库不同。

这个问题之前已经讨论过了,看看这个:Mismatch Detected for 'RuntimeLibrary'

长话短说,当您将项目切换到发布时,您还必须在发布中使用 thrift,这似乎不是您的情况。