如何解决vc2010使用了vc2008的库?
czb 2015-10-12 11:13:08 先安装了vc2010,后安装了vc2008,现在打开程序,都跑不起来了,程序直接退出。
如果在vc2010的debug模式中,点debug运行,报错如下
MultiParentTree.exe 中的 0x75266010 (msvcr90d.dll) 处最可能的异常: 0xC0000005: 读取位置 0xffffffffffffffff 时发生访问冲突
MultiParentTree.exe 中的 0x75266010 (msvcr90d.dll) 处有未经处理的异常: 0xC0000005: 读取位置 0xffffffffffffffff 时发生访问冲突
对应的源代码如下
l_env = Environment::createEnvironment("ZHS16GBK","OCCIUTF16");
对应的堆栈如下
msvcr90d.dll!memcmp(unsigned char * buf1, unsigned char * buf2, unsigned long count) 行 150 Asm
msvcp90d.dll!std::char_traits<char>::compare(const char * _First1, const char * _First2, unsigned __int64 _Count) 行 561 C++
msvcp90d.dll!std::basic_string<char,std::char_traits<char>,std::_DebugHeapAllocator<char> >::compare(unsigned __int64 _Off, unsigned __int64 _N0, const char * _Ptr, unsigned __int64 _Count) 行 2061 + 0x43 字节 C++
msvcp90d.dll!std::basic_string<char,std::char_traits<char>,std::_DebugHeapAllocator<char> >::compare(const char * _Ptr) 行 2038 C++
msvcp90d.dll!std::operator==<char,std::char_traits<char>,std::allocator<char> >(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & _Left, const char * _Right) 行 94 + 0xf 字节 C++
oraocci11d.dll!000000018008876e()
[下面的框架可能不正确和/或缺失,没有为 oraocci11d.dll 加载符号]
> MultiParentTree.exe!CMultiParentTreeApp::InitInstance() 行 76 + 0x6e 字节 C++
mfc100d.dll!AfxWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) 行 37 + 0x13 字节 C++
MultiParentTree.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) 行 26 C++
MultiParentTree.exe!__tmainCRTStartup() 行 547 + 0x42 字节 C
MultiParentTree.exe!WinMainCRTStartup() 行 371 C
kernel32.dll!00007fffa1e613d2()
ntdll.dll!00007fffa2145454()
我怀疑是dll版本的问题,因为我使用的是vc2010,但debug却使用了vc9的库。
请问该如何修正过来?别告诉我把vc2008卸掉啊。