如何解决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卸掉啊。
...全文
190 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgl7903 2015-10-12
  • 打赏
  • 举报
回复
重新编译项目试试看, 如果有依赖的lib/DLL 也用新版本的VS编译
czb 2015-10-12
  • 打赏
  • 举报
回复
结贴了,谢谢楼上的各位高手。我直接用vc2008好了。
oyljerry 2015-10-12
  • 打赏
  • 举报
回复
只能源码重新编译,不要混用不同版本的编译器库等
encoderlee 版主 2015-10-12
  • 打赏
  • 举报
回复
很显然,你的OCCI库是用VS2008编译出来的,所以在VS2010上使用该库时,它链接到的仍然是VC++2008运行库
赵4老师 2015-10-12
  • 打赏
  • 举报
回复
卸载两者后,先安装2008、再安装2010

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧