我正在使用Visual C++ 2008 SP1。我在調試構建配置中有一個QT應用程序(GUI,.exe)。它被設置爲使用CRT的多線程調試DLL版本,又名MSVCRTD.lib。如何針對發佈版本庫(MSVCRT.lib)構建調試.exe(MSVCRTD.lib)?
我正在建立在發佈模式下並使用多線程DLL(非調試)版本的CRT,又名MSVCRT.lib的第三方庫進行鏈接。
它鏈接並運行,但在啓動時崩潰。鏈接時,我得到警告:
鏈接:警告LNK4098:defaultlib'MSVCRT'與其他庫的使用發生衝突;使用/ NODEFAULTLIB:庫
我試着設置/NODEFAULTLIB:msvcrt.lib
但導致5連接由於缺少符號錯誤。
那麼是不可能使用兩個不同的庫?什麼是替代方案?我可以從我擁有的第三方庫中創建一個DLL嗎?或者是第三方必須做的事情?
在啓動時唯一的例外是:
「在未處理的異常.......在MyApp.exe的:...... 訪問衝突讀取位置0x00000000f」
以下是該應用程序後,調用堆棧上運行,它崩潰了:
MyApp.exe!std::_Aux_cont::_Getcont() + 0xa bytes C++
MyApp.exe!std::_Iterator_base_aux::_Getmycont() + 0x1b bytes C++
MyApp.exe!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,unsigned int> >,0> >::const_iterator::operator*() + 0x28 bytes C++
MyApp.exe!std::_Tree<std::_Tmap_traits<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,unsigned int> >,0> >::iterator::operator*() + 0xf bytes C++
MyApp.exe!std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,unsigned int,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,unsigned int> > >::operator[]() + 0xe9 bytes C++
MyApp.exe!ThirdPartyLib::client::`anonymous namespace'::init_xlt_mode() + 0x5f bytes C++
[email protected]() + 0x8d8f3 bytes C++
msvcr90d.dll!_initterm(void (void)* * pfbegin=0x006c4468, void (void)* * pfend=0x006cb0b8) Line 903 C
MyApp.exe!__tmainCRTStartup() Line 501 + 0xf bytes C
MyApp.exe!WinMainCRTStartup() Line 403 C
kernel32.dll!7c817067()
你在啓動時遇到什麼樣的崩潰? – LeopardSkinPillBoxHat 2009-04-14 04:12:40
嗨,我剛剛更新了上面的原始帖子,提供了更多的細節和問題的答案。 – ApplePieIsGood 2009-04-14 04:24:49