Search code examples
visual-studiothrift

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


I'm using apache thrift for my project. After I change my project to release and rebuild solution I got following error. What's wrong with it? How can I resolve this issue?

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

Solution

  • The runtime library you used to compile thrift isn't the same as the one you're using to compile your exe.

    This issue has been discussed before, take a look at this: Mismatch Detected for 'RuntimeLibrary'

    long story short, when you're switching your project to release, you also have to use thrift in release, which doesn't seem to be your case.